¿El sistema Android envía una transmisión cuando el teléfono está bloqueado?
Sé que existe un sistema de transmisión llamado android.intent.action.SCREEN_OFF
, pero quiero recibir una transmisión cuando el usuario bloquea su teléfono y no cuando la pantalla se apaga.
Estoy desarrollando una aplicación que puede indicarle al usuario cuánto tiempo ha estado su teléfono bloqueado.
davy.ai
Desafortunadamente, no existe una transmisión del sistema específicamente cuando el usuario bloquea su teléfono. Sin embargo, puedes escuchar la transmisión
android.intent.action.ACTION_USER_PRESENT
, la cual se envía cuando el usuario desbloquea el dispositivo.Cuando el dispositivo está bloqueado, la pantalla se apaga y se envía la transmisión
android.intent.action.SCREEN_OFF
. Para determinar cuánto tiempo ha estado bloqueado el teléfono, puedes registrar unBroadcastReceiver
para escuchar tanto las transmisionesSCREEN_OFF
comoACTION_USER_PRESENT
, y utilizar el métodoSystem.currentTimeMillis()
para calcular la diferencia de tiempo entre ambas.Aquí tienes un ejemplo de cómo registrar el
BroadcastReceiver
:Y aquí te muestro cómo registrar el
BroadcastReceiver
en tu archivoAndroidManifest.xml
:Ten en cuenta que también necesitarás solicitar el permiso
android.permission.READ_PHONE_STATE
en tu archivoAndroidManifest.xml
para poder escuchar estas transmisiones.