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)?
Je pense que cela devrait le faire:
getWindow().clearFlags(Android.view.WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Voir API pour plus de détails.
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.
Une autre approche
getWindow().setFlags(this.getWindow().getFlags() & ~WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
et vous pouvez également définir Android:keepScreenOn="true"
dans la vue racine en xml.
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).