Garder l'écran activé dans Activité – ne fonctionne pas avec FLAG_KEEP_SCREEN_ON

Alors, pendant longtemps, je pensais que je savais comment empêcher l'écran d'aller en mode veille, j'ai simplement utilisé ce code dans mon Activité:

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

Cependant, je me suis rendu compte que cela ne fonctionnait que lorsque mon téléphone était en «mode développeur», c'est-à-dire lorsque le débogage usb (Paramètres -> Options de développeur -> Débogage USB) a été activé / vérifié. Ensuite, les codes ci-dessus empêchent l'écran / l'appareil de s'endormir.

  • RadioGroup étendant RelativeLayout?
  • Projet de bibliothèque Android: Obfuscate et gardez les ressources
  • Désérialiser / non marquer la liste générique de XML à la liste dans Android
  • Superposition de dessins vectoriels personnalisés
  • Cordova: Impossible d'installer apk après la mise à niveau d'Android vers 5.1.1 Nexus 5
  • Comment réparer "L'appel nécessite l'API niveau 11" avec Android Activity?
  • Lorsque ce débogage n'est pas vérifié, mon écran s'arrête comme s'il n'y avait pas de lendemain. Je lance Android 4.04 sur mon appareil, et

      android:minSdkVersion="12" android:targetSdkVersion="16" 

    Quelqu'un a-t-il entendu parler de ce problème?

    MODIFIER

    J'ai testé avec la suggestion de Commonswares, et j'ai ajouté setKeepScreenOn () au code, donc il ressemble à ceci:

     getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); View root = findViewById(android.R.id.content); if (root != null) root.setKeepScreenOn(true); 

    J'ai également vérifié pour que ce code soit effectivement exécuté, et il l'est. Mais ça ne change rien …

  • OnClick dans EditText à l'intérieur de TextInputLayout, à l'intérieur d'un RecyclerView
  • Comment puis-je animer View.setVisibility (GONE)
  • Up-Sync et Down-Sync dans Android?
  • Android Studio prend-il en charge AngularJS pour Android UI?
  • Pare-feu Android avec VpnService
  • AUDIOFOCUS_LOSS a appelé après un appel téléphonique sur Android
  • 2 Solutions collect form web for “Garder l'écran activé dans Activité – ne fonctionne pas avec FLAG_KEEP_SCREEN_ON”

    Je faisais face au même problème, android:keepScreenOn="true" une activité pour mon projet et tous les autres écrans sont des fragments puis j'ai utilisé l' android:keepScreenOn="true" dans l'activité principale.

    Essayez d'utiliser ceci et faites-le moi savoir si vous n'avez pas eu le résultat de votre désir.

    Merci.

    Seule la solution qui fonctionne vraiment dans mon application est WakeLock dans la classe d'application principale. Malheureusement, l'indicateur SCREEN_BRIGHT_WAKE_LOCK est obsolète!

     public class MyApp extends Application { PowerManager.WakeLock screenOnWakeLock; @Override public void onCreate() { super.onCreate(); PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE); wakeLock = powerManager.newWakeLock(PowerManager.SCREEN_BRIGHT_WAKE_LOCK,"ScreenlockTag"); wakeLock.acquire(); } @Override public void onTerminate() { if (screenOnWakeLock != null && screenOnWakeLock.isHeld()) screenOnWakeLock.release(); super.onTerminate(); } } 
    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.