Comment empêche-t-on un appareil Android de s’endormir par programmation ?
Réponses
Trop de publicités?Si vous voulez juste pour éviter le mode veille sur un View
, appelez - setKeepScreenOn(true)
sur View
ou de définir l' keepScreenOn
de la propriété d' true
. Cela permettra d'éviter l'écran d'aller tandis que l' View
sur l'écran. Aucune autorisation spéciale requise pour cela.
Vous voudrez probablement utiliser un wakelock. Exemple de la doc:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
PowerManager.WakeLock wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
..screen will stay on during this section..
wl.release();
Il y a également un tableau sur cette page qui décrit les différents types de wakelocks.
Soyez conscient que certaines précautions doivent être prises lors de l'utilisation de wakelocks. Assurez-vous de toujours release()
la serrure lorsque vous avez terminé avec elle (ou pas au premier plan). Sinon, votre application peut potentiellement causer de sérieux drainage de la batterie et de l'utilisation du PROCESSEUR.
Modifier pour ajouter: vous devez également Vous assurer que vous avez les WAKE_LOCK autorisation définie dans votre Manifeste.
``pourrait être la meilleure option de schéma XML.
Plus d’informations : https://developer.android.com/training/scheduling/wakelock.html
ce que @eldarerathis dit est correct dans tous les aspects, à la suite de verrouillage est la bonne façon de tenir l'appareil à partir d'aller dormir.
Je ne sais pas quel vous application doit faire, mais il est vraiment important que vous pensez à la façon dont l'architecte de votre application de sorte que vous ne pas forcer le téléphone à rester éveillé plus que vous avez besoin, ou la vie de la batterie en souffrira énormément.
Je tiens à souligner ce vraiment le bon exemple sur la façon d'utiliser AlarmManager
pour déclencher des événements et de se réveiller le téléphone et votre app) pour effectuer ce que vous devez faire et puis aller dormir de nouveau: Alarm Manager (source: commonsware.com)