¿Esto lo hace para la actividad de correr o para toda la aplicación?
Muhammed Refaat
@ MayurR.Amipara sí, creo que este es el caso aquí
Muhammed Refaat
1
Si escribo este código en el método onCreate () de la clase de aplicación, ¿funcionará para toda la aplicación?
Jayesh
Si la respuesta es No, ¿cómo puedo mantener encendida toda la pantalla de la aplicación insertando menos código en lugar de agregar esa línea a cada una de las actividades?
Jayesh
1
@Jayesh: Puede crear una baseActivity y escribir este código en el método onCreate y extender toda la actividad desde baseActivity.
Para aquellos que no tienen tiempo para leer el pdf vinculado: "Los Wakelocks son costosos si se olvidan", "Considere usar android: keepScreenOn para garantizar la corrección".
lenrok258
2
@ lenrok258 Agregado a la respuesta ;-)
neteinstein
Mientras usaba PowerManager.newWakeLocky getWindow().addFlagsno funcionó por alguna razón, esto sí lo hizo.
En una vista, en mi caso una subclase de SurfaceView, puede configurar la pantalla siempre encendida. Quería que la pantalla permaneciera encendida mientras esta vista todavía dibujaba cosas.
En realidad, eso es más complicado de lo necesario. Simplemente llame a setKeepsScreenOn (verdadero) en cualquier lugar, y el marco se encargará automáticamente de mantener la pantalla encendida cuando se muestre su ventana.
¿Por qué es necesario que FLAG_FULLSCREEN responda a esta pregunta?
Abdul Wasae
0
android:keepScreenOn="true"
es la mejor manera de manejar esto si queremos hacer que una pantalla en particular se despierte todo el tiempo, de lo contrario, tendremos que manejar usted mismo cuándo habilitarla y deshabilitarla
1.getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); es la mejor solución para Android nativo.
2. Si desea hacerlo con la aplicación de Android React, utilice el siguiente código.
No no no. Las cerraduras de activación se utilizan fácilmente y pueden agotar la batería del usuario si no se utilizan con mucho cuidado. Use View#setKeepScreenOno su atributo de diseño xml equivalente,android:keepScreenOn="true"
adamp
5
@adamp: El OP no indicó si su aplicación es una actividad o un servicio. Una actividad debe utilizar el mecanismo que cita. Un servicio debe utilizar un WakeLock.
CommonsWare
gracias no es un servicio. es similar a un visor de imágenes y no quiero que la pantalla se atenúe.
pinza
@adamp: tu mención de android:keepScreenOn="true"es la única respuesta válida para actividades en mi opinión. Manténgase alejado de los wakelocks a menos que sea absolutamente necesario.
pauluss86
No solo actividades, sino cualquier tipo de interfaz de usuario que muestre una ventana. La respuesta aceptada de usar la bandera de ventana correspondiente es igualmente válida.
View.setKeepScreenOn()
[enlace] [1] ?. Aunque nunca lo he usado yo mismo. [1]: developer.android.com/reference/android/view/…Respuestas:
Quieres usar algo como esto:
fuente
Solía:
para deshabilitar el tiempo de espera de la pantalla y
para volver a habilitarlo.
fuente
También hay una forma XML que recomienda Google:
Consulte Presentaciones de Google - Diapositiva 16.
fuente
PowerManager.newWakeLock
ygetWindow().addFlags
no funcionó por alguna razón, esto sí lo hizo.Es importante tener en cuenta que todos estos métodos deben ejecutarse desde el hilo de la interfaz de usuario para que funcionen. Vea cómo cambiar KeepScreenOn desde javascript en la aplicación Android cordova
fuente
Simplemente agregue la línea de abajo en su
MainActivity
y su aplicación nunca apague las luces.fuente
En una vista, en mi caso una subclase de SurfaceView, puede configurar la pantalla siempre encendida. Quería que la pantalla permaneciera encendida mientras esta vista todavía dibujaba cosas.
fuente
Pon esto en onStart
Y esto en ti manifiesta
No te olvides de
en onStop
fuente
PARTIAL_WAKE_LOCK
permite que la pantalla se apague.esta es la mejor manera de resolver esto
fuente
es la mejor manera de manejar esto si queremos hacer que una pantalla en particular se despierte todo el tiempo, de lo contrario, tendremos que manejar usted mismo cuándo habilitarla y deshabilitarla
https://developer.android.com/training/scheduling/wakelock.html
fuente
fuente
1.getWindow (). AddFlags (WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); es la mejor solución para Android nativo.
2. Si desea hacerlo con la aplicación de Android React, utilice el siguiente código.
fuente
Esto se puede hacer adquiriendo un Wake Lock.
No lo probé yo mismo, pero aquí hay un pequeño tutorial sobre esto.
fuente
View#setKeepScreenOn
o su atributo de diseño xml equivalente,android:keepScreenOn="true"
WakeLock
.android:keepScreenOn="true"
es la única respuesta válida para actividades en mi opinión. Manténgase alejado de los wakelocks a menos que sea absolutamente necesario.