2017-08-22 4 views
0

Hallo Ich habe ein einfaches Widget zeigt die Anzahl der ungelesenen Nachrichten und ich bin Widget alle paar Sekunden (Via Service und AppWidgetProvider) und die WidgetProvider OnUpdate wird alle paar Sekunden korrekt mit dem neuen Wert aufgerufen aber die Widgetansicht wird nach der ersten Aktualisierung nicht mehr als einmal aktualisiert, was könnte das Problem verursachen? hier ist der onUpdate Code, der ausgelöst wird, aber nicht mehr als einmal für Ihre HilfeAndroid Widget nicht mehr als einmal aktualisieren

for (int i = 0; i < count; i++) { 
     AppWidgetManager manager = AppWidgetManager.getInstance(context); 
     RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.notification_widget_count); 
     if (unreadCount > 0) { 
      remoteViews.setViewVisibility(R.id.notification_widget_count_root, View.VISIBLE); 
      // remoteViews.setImageViewBitmap(R.id.notification_widget_count_image_text, M.getFontBitmap(context, unreadText, context.getResources().getColor(R.color.white), 25)); 
      remoteViews.setTextViewText(R.id.notification_widget_count_text, new Date().getSeconds()+""); 
      Intent mainIntent = new Intent(context, MainActivity.class); 
      mainIntent.setAction(ACTION_WIDGET_CLICK_MAIN); 
      PendingIntent mainPendingIntent = PendingIntent.getActivity(context, 0, mainIntent, 0); 
      remoteViews.setOnClickPendingIntent(R.id.notification_widget_count_main_root, mainPendingIntent); 
      manager.updateAppWidget(appWidgetIds[i],remoteViews); 
      Log.d("FFFF-NotificationWidget", "Updating Widget Info..."); 
     } else { 
      remoteViews.setViewVisibility(R.id.notification_widget_count_root, View.GONE); 
      manager.updateAppWidget(appWidgetIds[i], remoteViews); 
     } 

Dank im Voraus arbeiten

Antwort

2

Wenn Sie Dienst verwenden dann versuchen, diese

ComponentName thisWidget = new ComponentName(getContext(), <ProviderClass>); 
AppWidgetManager.getInstance(getContext()).updateAppWidget(thisWidget, rempoteViews); 
0

Während Sie android haben: updatePeriodMillis auf 20 Sekunden eingestellt, die vorhandenen Mindestzeit beträgt 30 Minuten. Also, wenn Sie nicht 30 Minuten gewartet haben, um zu sehen, ob es während Ihres Tests ein Update gibt, müssen Sie etwas länger warten.

+0

onUpdate alle 5 Sekunden, aber es ist nicht aktualisiert genannt wird, ich bin mit Service so android: updatePeriodMillis in nicht wichtig ist, ist es? Ich meine das, denn das ist in OnUpdate ist Actaully, aber die Ansicht wird nicht aktualisiert – Mahan

Verwandte Themen