¿Cómo evitar que la pantalla de un dispositivo Android se apague durante la ejecución de una actividad?
Tengo una Activity
que normalmente necesita algo de tiempo para ver la pantalla sin interactuar con ella.
El problema es que la pantalla se apaga, al igual que con almos cualquier otra aplicación. Quiero evitar que se apague automáticamente para mi Activity
, como Dolphin HD (si lo configura desde el menú de configuración).
- Pasar una lista a otra actividad en Android
- Manifiesto de Android - "no tiene constructor predeterminado" con actividad / clase Runnable
- ¿Cómo extender una actividad base en android?
- Definir actividad predeterminada (cuando se inicia la aplicación) mediante programación
- SimpleOnGestureListener nunca entra en el método onFling (...)
Quiero dejar que el usuario apague la pantalla presionando el botón de bloque habitual, pero evite el bloqueo automático del dispositivo mientras esté en mi Activity
.
¿Cómo puedo conseguir esto?
Gracias.
- Métodos del ciclo de vida de la actividad: onPostResume significado
- Actividad de cierre de Android mediante programación
- OnActivityResult siempre devuelve 0 (RESULT_CANCELED) al llamar a la configuración
- Cómo administrar adaptadores personalizados onPause, onResume of Activity en Android
- Cómo borrar todas las actividades anteriores ~?
- El cierre de sesión de otra actividad en Google más la integración no es un trabajo
- El título de la actividad extendida no aparece con estilo personalizado
- Android cambia el diseño dinámicamente
Añadir android:keepScreenOn="true"
a algún widget en su recurso XML de diseño para esta actividad. Mientras 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 entonces usted tiene que liberar manualmente el WakeLock
(si usted lío que hasta, la pantalla se quedará en mucho tiempo). Y, puesto que usted podría estropearlo para arriba, usted necesita el permiso de WAKE_LOCK
. El uso de keepScreenOn
evita todo eso.
Para cambiarlo al vuelo, haga lo siguiente:
if (keepScreenOn) getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON); else getWindow().clearFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
Desea agregar WAKE_LOCK a su manifiesto, y establecerlo y quitarlo según sea necesario en su aplicación. Consulta los documentos de Google aquí para PowerManager.WAKE_LOCK
http://developer.android.com/reference/android/os/PowerManager.html
Es posible que desee utilizar el bloqueo de activación para evitar la pantalla off.Pleas referirse http://developer.android.com/reference/android/os/PowerManager.WakeLock.html