Android-Widget: Konfigurationsaktivität anzeigen, bevor das Widget zum Bildschirm hinzugefügt wird
Posted: 17 Jan 2025, 11:15
Ich habe ein Android-Widget, das Webdienste verwendet, um die Daten im Widget abzurufen und anzuzeigen. Das Widget verfügt über eine Konfigurationsaktivität, die PreferenceActivity erweitert. Die Konfigurationsaktivität startet, sobald das Widget installiert ist, was das gewünschte Verhalten für dieses Widget ist.
Das Problem besteht immer dann, wenn ein Widget zum Startbildschirm hinzugefügt wird , versucht das Widget, sich selbst zu aktualisieren, bevor die Konfigurationsaktivität gestartet/abgeschlossen wird, was möglicherweise zu einer langen Verzögerung (mehrere Sekunden) führen kann. Die Konfigurationsaktivität sollte stattfinden, bevor das Widget versucht, sich selbst zu aktualisieren, wenn ein neues Widget hinzugefügt wird.
Hier ist die Abfolge von Ereignissen, die ich in LogCat sehe, wenn ein Widget hinzugefügt wird wird hinzugefügt:
Manifest.xml
Frage
Gibt es eine Möglichkeit, das zu erzwingen? Konfigurationsaktivität, die angezeigt werden soll, bevor das System versucht, das Widget zum Startbildschirm hinzuzufügen?
Das Problem besteht immer dann, wenn ein Widget zum Startbildschirm hinzugefügt wird , versucht das Widget, sich selbst zu aktualisieren, bevor die Konfigurationsaktivität gestartet/abgeschlossen wird, was möglicherweise zu einer langen Verzögerung (mehrere Sekunden) führen kann. Die Konfigurationsaktivität sollte stattfinden, bevor das Widget versucht, sich selbst zu aktualisieren, wenn ein neues Widget hinzugefügt wird.
Hier ist die Abfolge von Ereignissen, die ich in LogCat sehe, wenn ein Widget hinzugefügt wird wird hinzugefügt:
- Widget.onRecive: action = APPWIDGET_ENABLED
- Widget.onEnabled
- Widget.onReceive: action = APPWIDGET_UPDATE
- Widget.onUpdate: Widget-Dienst wird gestartet.
- WidgetService.onStartCommand: Möglicherweise lange laufende Arbeit, die die sofortige Anzeige der Konfigurationsaktivität verzögert .
- WidgetConfiguration.onCreate
- Widget.onReceive: action = APPWIDGET_UPDATE
- Widget.onUpdate: Widget-Dienst wird gestartet erneut
- WidgetService.onStartCommand: Möglicherweise langwierige Arbeiten werden erneut ausgeführt.
Manifest.xml
Code: Select all
Gibt es eine Möglichkeit, das zu erzwingen? Konfigurationsaktivität, die angezeigt werden soll, bevor das System versucht, das Widget zum Startbildschirm hinzuzufügen?