web-dev-qa-db-fra.com

Désactiver garder l'écran sur

J'ai utilisé:

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

Comment puis-je revenir à l'état par défaut (no-keep-on)?

65
OkyDokyman

Je pense que cela devrait le faire:

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

Voir API pour plus de détails.

131
Noel

Si vous définissez plutôt un indicateur Android: keepScreenOn = "true" ( documentation ) uniquement sur les vues devant conserver l'écran activé, vous n'avez pas besoin de réinitialiser l'indicateur manuellement.

18

Une autre approche

getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

Lisez aussi ceci

et vous pouvez également définir Android:keepScreenOn="true" dans la vue racine en xml.

4
Xar E Ahmer

Directement à partir de la documentation:

Remarque: vous n'avez pas besoin d'effacer l'indicateur FLAG_KEEP_SCREEN_ON sauf si vous ne souhaitez plus que l'écran reste activé dans votre application en cours d'exécution (par exemple, si vous souhaitez que l'écran expire après une certaine période d'inactivité). Le gestionnaire de fenêtres veille à ce que les choses se passent bien lorsque l'application passe en arrière-plan ou revient au premier plan. Mais si vous souhaitez explicitement supprimer l'indicateur et permettre ainsi à l'écran de se désactiver à nouveau, utilisez clearFlags (): getWindow (). ClearFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON).

0