AS201281 Wiki

Your check engine light is on!

User Tools

Site Tools


programming:android:android_keep_screen_on

Garder l'écran actif sur une Activity

Pour des raisons d'utilisabilité d'une application Android, il peut être utile de demander à l'OS de ne pas éteindre automatiquement l'écran au bout d'un certain temps. Par exemple, dans le cas d'une application affichant la vitesse d'un véhicule, si l'on souhaite se servir de l'application comme compteur indicatif permanent il ne faut pas que l'écran s'éteigne tout seul toutes les minutes.

Pour palier à ceci, l'API Android propose 2 méthodes. La première consiste à demander les droits pour réveiller l'appareil et l'écran (ce qui peut être extrêmement consommateur de batterie). La seconde est simplement d'utiliser la bonne constante sur la fenêtre qui doit empêcher la mise en veille de l'écran.

Dans une Activity, on utilise alors le code suivant pour demander à l'écran de rester actif.

this.getWindow().addFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);

On aura tendance à mettre ce code dans la méthode onCreate() de l'Activity.

Lorsque l'Activity en question ne sera pas active, l'écran sera alors libre de se remettre en veille. Il peut être aussi intéressant de supprimer cette propriété si l'Activity n'a plus besoin de garder l'écran actif. On utilisera alors le code suivant pour revenir au comportement par défaut.

this.getWindow().clearFlags(LayoutParams.FLAG_KEEP_SCREEN_ON);
programming/android/android_keep_screen_on.txt · Last modified: 2021/01/04 20:41 by 127.0.0.1