android - programar - doble toque para encender pantalla
¿Cómo verificar el estado de encendido/apagado de la pantalla en onStop()? (1)
Puede intentar usar el servicio del sistema PowerManager para este propósito, aquí hay un ejemplo y documentación oficial (tenga en cuenta que este método se agregó en el nivel 7 de API):
PowerManager pm = (PowerManager) getSystemService(Context.POWER_SERVICE);
boolean isScreenOn = pm.isScreenOn();
EDITAR:
El método isScreenOn () está en desuso en el nivel 21. Debería usar isInteractive en su lugar:
boolean isScreenOn = pm.isInteractive();
http://developer.android.com/reference/android/os/PowerManager.html#isInteractive()
como se mencionó here , cuando la pantalla se apague, se onStop()
de la Actividad actual. Necesito verificar el estado de activación / desactivación de la pantalla cuando se onStop()
de mi Activity
. por lo tanto, he registrado un BroadcastReceiver
para estas acciones ( ACTION_SCREEN_ON
Y ACTION_SCREEN_OFF
) para registrar el estado actual de encendido / apagado (y funcionan correctamente, ¡me registré!).
pero cuando onStop
la pantalla y onStop
el estado de encendido / apagado en onStop
, dice que la pantalla está encendida. ¿por qué? Creo que el receptor debe recibir el ACTION_SCREEN_OFF
antes de onStop
¿qué onStop
?