Aquí está mi situación. Tengo una aplicación que está reproduciendo sonidos de fondo. Usando el BroadcastReceiver puedo decir cuándo se apaga la pantalla y luego matar los sonidos. También puedo decir si la pantalla se vuelve a encender. Sin embargo, si el dispositivo está en el estado de bloqueo, no quiero que se inicie el audio. Por lo tanto, espero el ACTION_USER_PRESENT intento de señal. Todo funciona, excepto que si el usuario vuelve a encender la pantalla rápidamente después de apagarla, no obtendrá la pantalla de bloqueo o el mensaje ACTION_USER_PRESENT. Entonces, ¿hay alguna manera de saber cuándo se enciende la pantalla, si el dispositivo está bloqueado o no, lo que supongo también significa dormir o no?Cómo saber si el dispositivo está durmiendo
9
A
Respuesta
9
Puede probar el KeyguardManager para comprobar si el dispositivo está bloqueado. Aquí hay un código (no he probado esto por mi cuenta):
KeyguardManager kgMgr = (KeyguardManager) getSystemService(Context.KEYGUARD_SERVICE);
boolean showing = kgMgr.inKeyguardRestrictedInputMode();
¡Buena suerte!
12
((PowerManager) getSystemService(Context.POWER_SERVICE)).isScreenOn()
0
((PowerManager) getSystemService(Context.POWER_SERVICE)).isScreenOn()
dice si la pantalla está encendida. Entonces, se hace realidad si la pantalla está encendida pero el dispositivo está bloqueado. En cambio,
inKeyguardRestrictedInputMode()
obtiene cierto solo si el dispositivo está bloqueado.
Cuestiones relacionadas
- 1. ¿Cómo comprobar si un hilo está durmiendo?
- 2. Temporizador Android que funciona cuando el dispositivo está durmiendo
- 3. ¿Cómo saber cuándo el dispositivo iOS está enchufado?
- 4. ¿Cómo saber si el dispositivo Cocoa Touch puede hacer llamadas?
- 5. iPhone etc: ¿cómo saber si el dispositivo tiene una cámara?
- 6. Manejar NFC mientras el teléfono está durmiendo en Android
- 7. Detectar si el dispositivo se está cargando
- 8. ¿Cómo saber a qué puerto está conectado un dispositivo USB?
- 9. Cómo saber si un actor está inactivo
- 10. ¿Cómo saber si OpenMP está funcionando?
- 11. ¿Cómo puedo saber si se está mostrando ModalViewController?
- 12. ¿Cómo saber si un sensor está presente en mi dispositivo Android?
- 13. ¿Cómo puedo saber si un navegador está en un dispositivo con pantalla táctil con JavaScript?
- 14. ¿Cómo saber si el componente VBA de Office está instalado?
- 15. ¿Cómo saber si el objeto está en NSArray?
- 16. ¿Cómo saber si el código está dentro de TransactionScope?
- 17. Cómo saber si el usuario está usando monitores múltiples
- 18. ¿Cómo puedo saber si el CouchDB está funcionando?
- 19. ¿Cómo saber si el objeto raphael está oculto?
- 20. Cómo saber si el servidor de emacs se está ejecutando
- 21. ¿Cómo saber si el socket está abierto en PHP?
- 22. Por código, ¿cómo puedo probar si una unidad de disco duro está durmiendo sin activarlo?
- 23. Consumo de CPU cuando el hilo está durmiendo usando Thread.sleep
- 24. Compruebe si el tiempo frontal está habilitado en el dispositivo
- 25. ¿Cómo se puede saber si el iPhone se bloquea?
- 26. Compruebe si un usuario está desconectado en el dispositivo
- 27. ¿Cómo verifico si un dispositivo está ejecutando iOS 6?
- 28. ¿Cómo puedo saber si mi subproceso está esperando mi entrada (en python3) sp.py
- 29. ¿Cómo determinar si un dispositivo Android está rooteado programáticamente?
- 30. ¿Cómo verifico si un dispositivo USB dado está enchufado?
Si el dispositivo está realmente inactivo, el procesador de la aplicación no está ejecutando el código. La pantalla bloqueada es algo completamente diferente. –
Bastante justo. Entonces, ¿cómo saber si la pantalla está bloqueada? – iterator
http://stackoverflow.com/questions/3170563/android-detect-phone-lock-event –