web-dev-qa-db-fra.com

À quoi sert Android permission Wake Lock?

Quand et pourquoi utiliser le Android permission <uses-permission Android:name="Android.permission.WAKE_LOCK" />. Veuillez fournir un exemple de code concernant le verrouillage de réveil.

24
java dev

Vous pouvez utiliser un wakelock pour garder l'écran allumé - vous pouvez voir un exemple dans ce code .

Si vous souhaitez plus d'informations, vous devez préciser votre question.

13
Loyalar

WakeLock est un mécanisme pour garder l'appareil allumé, comme écrit ici et ici

Il est utilisé par exemple lorsque vous devez faire des choses même lorsque l'appareil semble endormi, comme télécharger des fichiers depuis Internet.

Les wakelocks ne doivent jamais être utilisés sauf si vous en avez vraiment besoin. La raison en est qu'ils consomment plus de batterie, et si vous avez un bug qui ne les libère pas en cas de besoin, votre application continuera à consommer la batterie de l'appareil. Il existe même des applications pour détecter ces applications problématiques (comme "détecteur de réveil").

En outre, un petit conseil pour les personnes qui souhaitent simplement laisser l'écran rester allumé (tant que l'application est affichée): vous n'avez pas besoin (et vous ne devriez pas avoir besoin) de l'autorisation wakeLock. Au lieu de cela, vous devez simplement définir " Android:keepScreenOn="true" "sur la présentation de l'activité en cours. Pour en savoir plus, consultez la conférence " Coding for Life - Battery Life, That Is " (présentation ici )

16
android developer

Pour réveiller l'appareil lorsqu'il est en veille, c'est-à-dire lorsque l'utilisateur n'est pas présent dans le verrouillage de l'écran à terme fixe

1
DjHacktorReborn

Un verrou de réveil est un mécanisme pour indiquer que votre application doit avoir l'appareil en marche.

Toute application utilisant un WakeLock doit demander l'autorisation Android.permission.WAKE_LOCK Dans un élément <uses-permission> Du manifeste de l'application. Obtenez un verrouillage de réveil en appelant newWakeLock(int, String).

1
delor