Ich habe eine einfache Appwidget und ich möchte es aktualisieren, wenn eine Aktion in einer Aktivität (in der gleichen 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.Android Appwidget wird nicht von Aktivität
Ich kann den Code direkt in die AppWidgetManager.updateAppWidget() -Methode verfolgen, und das alles 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 wird, anders ist, wenn es aus dem Kontext einer Aktivität vs. Kontext der OnUpdate() -Methode eines Appwidgets aufgerufen wird. Es gibt jedoch viele Beispiele im Internet, also erwarte ich, dass es funktionieren sollte.
die Dinge gemacht arbeiten, so muss es sein, dass ich nicht die Aktualisierung wurde korrekte ID Wie es war, richtet das Widget einen Onclick Intent mit seiner ID ein, die von der Aktivität empfangen wird, die dann dem Widget mitteilt, sich selbst zu aktualisieren. –
Ich denke nicht, dass das Aufrufen der OnUpdate-Methode der richtige Ansatz ist. Sie sollten eine Übertragung für AppWidgetManager.ACTION_APPWIDGET_UPDATE senden. – midhunhk
@silverback von einem "es richtig zu tun" -Ansatz, stimme ich Ihnen zu, dass der richtige Weg, es zu tun ist, eine Sendung zu senden. Von einem "Just much it work" -Ansatz führt das obige dazu, dass die App-Widgets aktualisiert werden - schmutzig, aber funktional. –