android appwidget wird nicht von Aktivitäten aktualisiert

9

Ich habe ein einfaches Appwidget und möchte es aktualisieren, wenn eine Aktion in einer Aktivität (in derselben App) auftritt. In OnUpdate (), ich aktualisiere sofort das Widget, das funktioniert gut. In meiner Aktivität rufe ich dieselbe statische Update-Methode in meinem Appwidget auf, die in OnUpdate () aufgerufen wird, um die Ansichten zu aktualisieren. Das Widget wird nicht aktualisiert.

Ich kann den Code direkt in die AppWidgetManager.updateAppWidget () -Methode verfolgen, und das alles ist gut, aber das Widget wird nicht aktualisiert.

Der einzige mögliche Unterschied, den ich sehen kann, ist, dass das Context-Objekt, das in meine statische Update-Methode übergeben wurde, anders ist, wenn es aus dem Kontext einer Aktivität im Kontext der onUpdate () -Methode eines Appwidgets aufgerufen wird. Es gibt jedoch viele Beispiele im Internet, also erwarte ich, dass es funktionieren sollte.

    
Jeffrey Blattman 12.12.2010, 23:26
quelle

2 Antworten

20

Ohne Ihren Code zu sehen, bin ich nicht 100% sicher, wie Sie es versuchen, aber hier ist die Methode, die ich verwende. Innerhalb meiner Activity habe ich die folgende Methode:

%Vor%

Dabei ist MyWidget die Klasse des Appwidgets. Ich kann diese Methode von überall in meinem Activity aufrufen, um alle meine Appwidgets zu aktualisieren.

    
dave.c 12.12.2010, 23:47
quelle
9

Anstatt eine statische Methode zu verwenden, nutzen Sie die Tatsache, dass das Widget bereits ein Broadcast-Empfänger ist, und registrieren Sie in Ihrem Manifest eine Update-Absicht dafür. Dann, wann immer Sie es von der Aktivität aktualisieren müssen, rufen Sie einfach

%Vor%

und innerhalb der Empfänger-Tags Ihrer Manifest-Datei

%Vor%     
schwiz 12.12.2010 23:57
quelle

Tags und Links