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?
Réponses
Trop de publicités?Vous pouvez utiliser l' ACTION_SHUTDOWN
d'Intention qui est diffusé lorsque le téléphone est sur le point d'arrêt. La documentation dit:
Les applications ne seront normalement pas besoin de manipuler ce, depuis le premier plan de l'activité seront suspendus.
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.
L' ACTION_SHUTDOWN
d'Intention a été introduit dans l'API de Niveau 4, en d'autres termes , il va seulement être envoyés 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:
public class ShutdownReceiver extends BroadcastReceiver {
@Override
public void onReceive(Context context, Intent intent) {
//Insert code here
}
}
Vous aurez également besoin d'une entrée dans votre Manifeste comme suit:
<receiver android:name=".ShutdownReceiver">
<intent-filter>
<action android:name="android.intent.action.ACTION_SHUTDOWN" />
</intent-filter>
</receiver>
Selon ce que vous êtes en train de faire, une autre option serait d'utiliser l' ACTION_BOOT_COMPLETED
d'Intention qui est envoyé lorsque le téléphone est redémarré.
En plus de ACTION_SHUTDOWN
, vous devez ajouter android.intent.action.QUICKBOOT_POWEROFF
de 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.
Pour se développer sur ce que Dave Webb a dit est la façon appropriée de gérer ce:
Vous pouvez remplacer le Android Activité du Cycle de vie des fonctions:
protected void onPause();
protected void onResume();
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 l' Android Site web et dans la réponse à cette question du cycle de vie.