Est-il possible de recevoir une notification lorsque l'utilisateur éteint l'appareil?
J'ai besoin de savoir quand l'utilisateur éteint son téléphone. Existe-il des émissions (ou similaire) qui informent lorsque l'utilisateur du téléphone est éteint?
- comme votre code ne sera pas courir plus, faire des blagues! peut-être que si vous faites votre demande d'écrire sur un fichier ou d'effectuer un appel ajax toutes les n minutes et analyser après.
- Il y a probablement un peu de journal écrit quelque part pour que. Je serais très surpris si il ne l'était pas.
- Très hors-sujet: La formulation m'a fait penser à BeOS fonction
is_computer_on()
: lorsque l'ordinateur est allumé, il renvoie 1, sinon, le résultat est indéfini.
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser le
ACTION_SHUTDOWN
Intention qui est diffusé lorsque le téléphone est sur le point d'arrêt. La documentation dit:En d'autres termes, si vous répondez à tous les événements de cycle de vie pour votre Activité de manière appropriée, il n'y a pas besoin d'utiliser cette information si vous voulez vraiment faire quelque chose de spécifique liée à l'arrêt.
La
ACTION_SHUTDOWN
Intention a été introduit dans l'API de Niveau 4, en d'autres termes ça va être envoyés uniquement sur les téléphones fonctionnant sous Android 1.6 ou version ultérieure.Vous aurez piège de l'Émission avec un
BroadcastReceiver
. Il ressemblera à quelque chose comme ceci:Vous aurez également besoin d'une entrée dans votre Manifeste comme suit:
En fonction de ce que vous êtes en train de faire, une autre option serait d'utiliser la
ACTION_BOOT_COMPLETED
Intention qui est envoyé lorsque le téléphone est redémarré.android:name
dans votre<receiver>
d'entrée doit être le nom de la classe de laBroadcastReceiver
vous avez mis en œuvre. developer.android.com/reference/android/content/...En plus de
ACTION_SHUTDOWN
, vous devez ajouterandroid.intent.action.QUICKBOOT_POWEROFF
à votre intent-filter.ACTION_SHUTDOWN
n'est pas toujours diffusée sur certains appareils HTC (par exemple, le Evo 4g).Pour être plus précis, si vous choisissez de Redémarrer,
ACTION_SHUTDOWN
de diffusion, mais si vous choisissez de couper l'Alimentation,QUICKBOOT_POWEROFF
est diffusé à la place.De s'étendre sur ce que Dave Webb a dit est la façon appropriée de gérer cela:
Vous pouvez remplacer le Android Activité du Cycle de vie des fonctions:
Dans la plupart des scénarios de mise en œuvre de ces devrait être suffisant et ne sera pas vous obliger à traiter spécifiquement les "power off" des événements.
Il y a beaucoup plus d'informations sur le Android Site Web et dans la réponse à cette question du cycle de vie.