44 votes

Mode Veille/Standby Android

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

Ma question est : que fait exactement le "mode veille" sur les systèmes android ? Qu'arrête-t-il, qu'arrête-t-il pas, etc. Par mode veille, j'entends bien sûr lorsque vous appuyez sur le bouton d'alimentation et que l'écran devient noir. Que se passe-t-il exactement ? Tout éclaircissement est apprécié.

62voto

CommonsWare Points 402670

Je suis sûr que le contournement n'est pas trop difficile

Utiliser AlarmManager est un peu délicat.

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

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

Qu'est-ce qu'il arrête, qu'est-ce qu'il n'arrête pas, etc.

La seule chose sur laquelle vous pouvez compter pour ne pas s'arrêter est la radio GSM ou CDMA (pour les appels entrants, SMS et 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.

Le dispositif entrera en mode veille peu de temps après, s'il n'est pas maintenu en éveil avec un WakeLock. Cependant, il n'y a aucune garantie qu'une milliseconde après avoir appuyé sur ce bouton et l'écran s'être éteint, le CPU soit éteint.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X