Я хочу, чтобы можно было обнаружить событие блокировки телефона. Когда мое приложение работает, если я нажимаю красную кнопку (кнопка завершения вызова/кнопка питания), телефон блокируется, и экран становится пустым. Я хочу, чтобы можно было обнаружить это событие, возможно ли это?
Android обнаруживает событие блокировки телефона
Ответ 1
Есть приемник вещания
android.intent.action.SCREEN_ON
и
android.intent.action.SCREEN_OFF
Связано: прочитайте Ответ CommonsWare здесь.
Ответ 2
В качестве альтернативы вы можете сделать это:
@Override
protected void onPause()
{
super.onPause();
// If the screen is off then the device has been locked
PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
boolean isScreenOn;
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT_WATCH) {
isScreenOn = powerManager.isInteractive();
} else {
isScreenOn = powerManager.isScreenOn();
}
if (!isScreenOn) {
// The screen has been locked
// do stuff...
}
}