J'ai trois activités dans mon application. Je veux garder l'écran éveillé quand il est dans la deuxième activité. L'écran ne doit pas aller dans ma deuxième activité, à moins que le "lock" est enfoncée manuellement. Je suis passé par de nombreux liens, mais ils semblent pas clairs pour moi.
Réponses
Trop de publicités?Vous pouvez le faire de deux manières. Vous pouvez définir la FLAG_KEEP_SCREEN_ON sur l'activité de la fenêtre:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Un autre moyen est d'utiliser un signal de verrouillage:
mWakeLock = getContext().getSystemService(Context.POWER_SERVICE)
.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK, getClass().getName());
Le manifeste devra inclure cette ligne dans votre manifeste:
<uses-permission android:name="android.permission.WAKE_LOCK"/>
Comme par je comprends votre question, je pense que vous devez utiliser WAKE_LOCK
pour votre application.
Quelque chose comme,
final PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
mWakeLock = pm.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK | PowerManager.ON_AFTER_RELEASE,"");
mWakeLock.acquire();
Et dans votre application manifest.xml fichier fichier ajouter cet,
<uses-permission android:name="android.permission.WAKE_LOCK" />
Ce code est obsolète, utilisez ceci à la place:
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
wl = pm.newWakeLock(PowerManager.SCREEN_DIM_WAKE_LOCK, "My Tag");
wl.acquire();
Après vous avez terminé avec l'utilisation, composez le (la meilleure solution est d'appeler cette méthode dans la méthode onDestroy de l'activité):
wl.release();
Plus d'informations à ce sujet sur ce lien