Service, WakeLock
Je suis un peu confus après avoir traversé les questions & réponses dans Stackoverflow sur WakefulIntentService
. J'aimerais juste d'acquérir des connaissances sur ce sujet pour m'assurer que ma compréhension est correcte, n'hésitez pas à me corriger si je me trompe.
J'ai construit une petite application, où je suis en utilisant un arrière-plan Service
qui continue à jouer de la musique à chaque fois que l'utilisateur secoue le mobile. J'ai testé une fois que l'appareil est verrouillé et l'écran est hors tension et qu'il fonctionne comme prévu.
- Ce que j'entends de ce forumle service peut éteint dès que l'appareil passe à l'endormissement. Est-ce vrai? Dans mon cas, il fonctionne toujours, Suis-je raté quelque chose?
- Quel est le besoin de
WakeFulIntentService
? Quand faut-il utiliserWakefulIntentService
? - J'ai essayé de lancer un timer dans un
Service
si l'appareil est verrouillé et l'écran est éteint et mon minuterie est en marche assez bien je peux dire pour sûr. Parce que j'ai utilisé pour obtenir de l'information à chaque fois que mon minuteur de voyages.
source d'informationauteur Ramesh Sangili
Vous devez vous connecter pour publier un commentaire.
Oui.
Puis quelque chose d'autre sur votre appareil est maintenant l'appareil de s'endormir. Peut-être que l'utilisation
adb shell dumpsys power
pour voir ce queWakeLocks
sont en circulation.L'appareil peut s'endormir si l'utilisateur est inactif et que rien n'est à garder éveillé. Un
WakeLock
est utilisé pour s'assurer que l'appareil reste allumé. Pour les transactions de type de travail (par exemple, le téléchargement d'un fichier),WakefulIntentService
combine unIntentService
et unWakeLock
pour faire garder éveillé aussi longtemps que nécessaire (et seulement aussi longtemps que nécessaire) relativement facile.WakefulIntentService
n'est pas adapté pour une utilisation avec les services qui doivent s'exécuter indéfiniment, comme un lecteur de musique. Pour ceux, de gérer votre propreWakeLock
.J'ai utilisé le code ci-dessous dans une application.
Assurez-vous que votre service est collante:
Je vous voulez que votre téléphone d'être éveillé en permanence u pouvez utiliser ce code ci-dessous:
N'oubliez pas les autorisations dans votre manifeste.