Question

J'ai un problème très difficile, je ne peux pas résoudre. J'ai une application que je peux mettre en mode avion à distance pour économiser l'énergie. J'ai un fonctionnement de fil qui obtient le pouvoir de sauvegarde message, supprime callbacks pour tous les autres threads, met le téléphone en mode avion, et attend un certain nombre de minutes avant de se réveiller à l'arrière du téléphone vers le haut.

Lorsque le téléphone est branché sur mon ordinateur portable (USB débogage activé, etc.), cette fonctionnalité est très bien. Le téléphone passe en mode avion, l'écran se verrouille, puis après un nombre spécifique de minutes l'application « se réveille » et se poursuit normalement.

Lorsque le téléphone est branché sur un chargeur de voiture, le téléphone téléphone passe en mode avion, mais le fil ne se réveille jamais le téléphone. Ce problème se produit uniquement lorsque l'écran est également réglé sur délai d'attente ... quand je régler l'écran à « jamais délai d'attente » et que le téléphone branché sur un chargeur de voiture, l'application se réveille très bien.

Il semble qu'une certaine combinaison de source d'alimentation et l'écran de synchronisation à tue mon fils Économie d'énergie au niveau du système. Je sais que ce poste est très spécifique à ma demande, mais quelqu'un at-il rencontré un problème similaire à cela avant?

Était-ce utile?

La solution

Si vous voulez attendre n nombre de minutes, vous devez utiliser une alarme, pas un fil. Vous ne pouvez jamais supposer qu'un fil reste actif pendant que votre application n'est pas au premier plan. Consultez http://developer.android.com/reference/android/app/ AlarmManager.html .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top