126 votes

Android désactiver le délai d'expiration de l'écran lorsque l'application est en cours d'exécution

Est-il possible de désactiver l'économiseur d'écran pendant que mon application est en cours d'exécution?

La gradation de l'écran est ce que je veux dire.

181voto

Ian G. Clifton Points 4648

Vous voulez utiliser quelque chose comme ça:

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

106voto

capellone78 Points 461

J'ai utilisé:

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

pour désactiver le délai d'attente de l'écran et

 getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
 

pour le réactiver.

96voto

NeTeInStEiN Points 7331

Il existe également une méthode XML recommandée par Google:

 <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:keepScreenOn="true">
 

Consultez la https://dl.google.com/io/2009/pres/W_0300_CodingforLife-BatteryLifeThatIs.pdf diapositive 16.

1voto

user1526994 Points 52

Mettez cela à onStart

     PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
    wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK, "no sleep");
    wakeLock.acquire();
 

Et ceci à vous manifester

     <uses-permission android:name="android.permission.WAKE_LOCK" />
 

N'oublie pas de

 wakeLock.release();
 

sur onStop

0voto

wonne Points 89

Cela peut être fait en acquérant un verrou de réveil.

Je ne l'ai pas testé moi-même, mais voici un petit tutoriel à ce sujet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X