web-dev-qa-db-fra.com

Android Mode veille / veille

J'ai créé une application qui démarre un service, qui démarre une minuterie, qui déclenche une petite fonction après un certain temps. Cela fonctionne très bien sur l'émulateur et sur le Motorola Droid 1, mais cela ne fonctionne pas sur le Droid X lorsque le téléphone a été mis en mode veille. Ce que j'ai découvert, c'est que la minuterie semble s'arrêter lorsque le téléphone est en veille. Cela ne semble pas le faire sur le Droid 1 ou l'émulateur. Je suis sûr que la solution de contournement n'est pas trop difficile, donc je ne demande pas aide (pour une fois) Je veux juste une explication, pour mieux comprendre cela.

Ma question est de savoir ce que signifie exactement le "mode veille" faire sur Android systèmes? , bien sûr, lorsque vous appuyez sur le bouton d'alimentation et que l'écran devient noir. Que se passe-t-il exactement? Toutes les informations sont appréciées.

44
Brandon

Je suis sûr que la solution de contournement n'est pas trop difficile

L'utilisation de AlarmManager est un peu délicate.

Ma question est de savoir ce que fait exactement le "mode veille" sur les systèmes Android?

Principalement, il arrête le CPU. En cours de route, des radios non essentielles (WiFi, GPS) auront également été fermées.

Qu'est-ce que ça arrête, qu'est-ce qui ne s'arrête pas, etc.

La seule chose sur laquelle vous pouvez compter pour ne pas vous arrêter est la radio GSM ou CDMA (pour les appels entrants, les SMS et les paquets IP) et AlarmManager.

Par mode veille, je veux dire, bien sûr, lorsque vous appuyez sur le bouton d'alimentation et que l'écran devient noir.

En fait, ce n'est pas le mode veille en soi. C'est l'écran qui s'éteint.

L'appareil passera en mode veille peu de temps après, si rien ne le maintient éveillé avec un WakeLock. Cependant, rien ne garantit qu'en moins d'une milliseconde après avoir appuyé sur ce bouton et éteint l'écran, le CPU est éteint.

62
CommonsWare