android - ver - porque la pantalla de mi celular no se apaga
¿Cómo evitar que la pantalla de un dispositivo Android se apague durante la ejecución de una actividad? (5)
Tengo una Activity
que generalmente necesita algo de tiempo para mirar la pantalla sin interactuar con ella.
El problema es que la pantalla se apaga, al igual que con casi cualquier otra aplicación. Quiero evitar que se apague automáticamente para mi Activity
, como lo hace Dolphin HD (si lo configura desde el menú de configuración).
Quiero que el usuario apague la pantalla presionando el botón de bloqueo habitual, pero evite el bloqueo automático del dispositivo mientras esté en mi Activity
.
¿Cómo puedo conseguir esto?
Gracias.
Agregue android:keepScreenOn="true"
a algún widget en su recurso XML de diseño para esta actividad. Siempre que ese widget esté visible en la pantalla, la pantalla no se apagará automáticamente.
EDITAR:
Un WakeLock
, como lo sugieren otras respuestas, técnicamente funcionará. Pero luego tiene que liberar manualmente el WakeLock
(si lo WakeLock
, la pantalla se mantendrá durante mucho tiempo). Y, como podría estropearlo, necesita el permiso WAKE_LOCK
. El uso de keepScreenOn
evita todo eso.
Deberá agregar WAKE_LOCK a su manifiesto, y configurarlo y eliminarlo según sea necesario dentro de su aplicación. Consulte los documentos de google aquí para PowerManager.WAKE_LOCK
Es posible que desee utilizar el bloqueo de activación para evitar que la pantalla se apague. Las pullas se refieren a http://developer.android.com/reference/android/os/PowerManager.WakeLock.html
Para "Xamarin Android":
Window.AddFlags(WindowManagerFlags.KeepScreenOn);
Para cambiarlo sobre la marcha haz esto:
if (keepScreenOn)
getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
else
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);