Je suis en train de mettre en œuvre un widget simple pour l'affichage sur l'écran d'accueil. Le problème que je rencontre est que onUpdate ne doit être appelé qu'une seule fois quand j'ai installer le widget. La configuration ci-dessous. Note: je ne vais pas laisser période de mise à jour à 20 secondes que je sais que ce serait tuer la batterie (juste les tests).
Configuration:
<appwidget-provider xmlns:android="http://schemas.android.com/apk/res/android"
android:minWidth="294dp"
android:minHeight="72dp"
android:updatePeriodMillis="20000"
android:initialLayout="@layout/my_custom_app_widget">`
</appwidget-provider>`
Manifeste Extrait:
<receiver android:name="MyCustomWidgetProvider">
<intent-filter>
<action android:name="android.appwidget.action.APPWIDGET_UPDATE" />
</intent-filter>
<meta-data android:name="android.appwidget.provider"
android:resource="@xml/my_custom_app_widget_info" />
</receiver>
Je suis en observant le comportement suivant quand j'essaie d'installer le widget: Dans mon WidgetProvider classe sur onReceive est appelé ensuite onEnabled puis onReceive, puis onUpdate.
Après que le widget affiche et onUpdate n'est jamais appelé de nouveau. J'ai aussi vérifier les paramètres de la provder quand onUpdate est appelé et tout mis en XML ci-dessus (par exemple, période de mise à jour) est correct.