Pour ceux qui n'ont pas le temps de lire le pdf lié: "Wakelocks est coûteux si oublié", "Pensez à utiliser android: keepScreenOn pour vous assurer de l'exactitude".
lenrok258
2
@ lenrok258 Ajouté à la réponse ;-)
neteinstein
Lors de l'utilisation PowerManager.newWakeLocket getWindow().addFlagsn'a pas fonctionné pour une raison quelconque, cela a fonctionné.
Dans une vue, dans mon cas une sous-classe SurfaceView, vous pouvez activer l'écran toujours activé. Je voulais que l'écran reste allumé pendant que cette vue dessinait encore des trucs.
C'est en fait plus compliqué que nécessaire. Appelez simplement setKeepsScreenOn (true) n'importe où, et le framework s'occupera automatiquement de garder l'écran allumé lorsque votre fenêtre est affichée.
pourquoi le besoin de FLAG_FULLSCREEN pour répondre à cette question?
Abdul Wasae
0
android:keepScreenOn="true"
est la meilleure façon de gérer cela si nous voulons rendre un écran particulier éveillé tout le temps, sinon nous devons nous gérer vous-même quand l'activer et le désactiver
1.getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); est la meilleure solution pour Android natif.
2. si vous voulez faire avec l'application Android React, veuillez utiliser le code ci-dessous.
Non non Non. Les verrous de réveil sont facilement mal utilisés et peuvent vider la batterie de l'utilisateur s'ils ne sont pas utilisés avec beaucoup de précaution. Utilisez View#setKeepScreenOnou son équivalent d'attribut de mise en page xml,android:keepScreenOn="true"
adamp
5
@adamp: l'OP n'a pas indiqué si son application est une activité ou un service. Une activité doit utiliser le mécanisme que vous citez. Un service doit utiliser un WakeLock.
CommonsWare
merci ce n'est pas un service. c'est similaire à une visionneuse d'images et je ne veux tout simplement pas que l'écran soit atténué.
pince
@adamp: votre mention de android:keepScreenOn="true"est la seule réponse valable pour les activités à mon avis. Éloignez-vous des réveils sauf si c'est absolument nécessaire.
pauluss86
Pas seulement des activités, mais toute sorte d'interface utilisateur qui affiche une fenêtre. La réponse acceptée d'utiliser l'indicateur de fenêtre correspondant est également valable.
View.setKeepScreenOn()
[link] [1] ?. Je ne l'ai jamais utilisé moi-même. [1]: developer.android.com/reference/android/view/…Réponses:
Vous souhaitez utiliser quelque chose comme ceci:
la source
J'ai utilisé:
pour désactiver le délai d'expiration de l'écran et
pour le réactiver.
la source
Il existe également une méthode XML recommandée par Google:
Vérifiez Google Slides - Diapositive 16.
la source
PowerManager.newWakeLock
etgetWindow().addFlags
n'a pas fonctionné pour une raison quelconque, cela a fonctionné.Il est important de noter que ces méthodes doivent toutes être exécutées à partir du thread d'interface utilisateur pour fonctionner. Voir la modification de KeepScreenOn à partir de javascript dans l'application Android Cordova
la source
Ajoutez simplement la ligne ci-dessous dans votre
MainActivity
et votre application n'éteignez jamais les lumières.la source
Dans une vue, dans mon cas une sous-classe SurfaceView, vous pouvez activer l'écran toujours activé. Je voulais que l'écran reste allumé pendant que cette vue dessinait encore des trucs.
la source
Mettez ceci à onStart
Et cela chez vous manifeste
N'oubliez pas de
chez onStop
la source
PARTIAL_WAKE_LOCK
permet à l'écran de s'éteindre.c'est la meilleure façon de résoudre ce problème
la source
est la meilleure façon de gérer cela si nous voulons rendre un écran particulier éveillé tout le temps, sinon nous devons nous gérer vous-même quand l'activer et le désactiver
https://developer.android.com/training/scheduling/wakelock.html
la source
la source
1.getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); est la meilleure solution pour Android natif.
2. si vous voulez faire avec l'application Android React, veuillez utiliser le code ci-dessous.
la source
Cela peut être fait en acquérant un Wake Lock.
Je ne l'ai pas testé moi-même, mais voici un petit tutoriel à ce sujet.
la source
View#setKeepScreenOn
ou son équivalent d'attribut de mise en page xml,android:keepScreenOn="true"
WakeLock
.android:keepScreenOn="true"
est la seule réponse valable pour les activités à mon avis. Éloignez-vous des réveils sauf si c'est absolument nécessaire.