2010-08-02 4 views
7

Possible en double:
Removing Widget from Home Screen when UninstalledComment supprimer un widget lorsque l'application est désinstallée dans Android?

Dans Android, j'ai créé un widget pour mon application. Lorsque je désinstalle l'application, le widget affiche une erreur "widget de chargement de problème" dans l'écran d'accueil. J'ai besoin d'un scénario où le widget devrait être enlevé par le développeur à travers le code (et non par le glisser-déposer à la poubelle) lorsque je désinstalle l'application. C'est possible? Si oui, quels changements devons-nous faire? Y at-il quelque chose qui peut être défini dans le manifeste afin qu'il supprime toutes les références de l'application une fois qu'il est désinstallé?

+0

des nouvelles à propos de ce sous ject? :) – Tamotsukun

Répondre

0

Hiya! Lorsque vous supprimez le gestionnaire hôte widget application devrait diffuser l'une des intentions suivantes ... ACTION_APPWIDGET_UPDATE ACTION_APPWIDGET_DELETED ACTION_APPWIDGET_ENABLED ACTION_APPWIDGET_DISABLED

Pour utiliser cela, dans votre classe de fournisseur de appwidget (ou votre extension personnalisée du récepteur de radiodiffusion) reçoivent l'émission (ou utiliser onDeleted() dans la classe appwidgetprovider) et supprimer le widget gestionnaire d'applications hôte le widget avec l'identifiant de votre widget ....

Hope this helps ...

+0

Avez-vous réellement essayé cela? Les messages que vous listez ne sont PAS envoyés lorsque l'application est supprimée. Plus précisément, onDeleted() dans AppWidgetProvider est uniquement appelé lorsque le widget est supprimé, pas l'application entière. –

+0

Salut Carl, oui j'ai essayé ça. De plus, j'ai utilisé le site de développement d'androids comme référence pour mon commentaire. Je vais essayer à nouveau ssometime car cela fait presque un an que j'ai écrit ce commentaire. Vous permettra de savoir. –

+0

Aucune de ces diffusions n'est envoyée si * app * est désinstallé. Plus précisément, [ACTION_APPWIDGET_DELETED est envoyé lorsqu'un * widget * est supprimé de l'écran d'accueil] (http://developer.android.com/reference/android/appwidget/AppWidgetManager.html#ACTION_APPWIDGET_DELETED). – sschuberth

5

Il n'est pas possible d'obtenir le contrôle lorsque votre application est désinstallée. Je pense que Android 2.2 peut faire un meilleur travail de se débarrasser automatiquement de votre widget app.

+0

N'y a-t-il aucun moyen de supprimer mes widgets une fois mon application désinstallée? Le système d'exploitation ne devrait-il pas gérer cela? – Janusz

+0

@Janusz: "Le système d'exploitation ne devrait-il pas gérer cela?" - oui, c'est pourquoi j'ai écrit "Je pense que Android 2.2 peut faire un meilleur travail de se débarrasser automatiquement de votre widget app." – CommonsWare

+0

Non malheureusement pas. Il y a des améliorations pour les widgets annoncés pour 3.0 peut-être que nous devons attendre jusque-là. – Janusz

Questions connexes