Подтвердить что ты не робот

Android обнаруживает событие блокировки телефона

Я хочу, чтобы можно было обнаружить событие блокировки телефона. Когда мое приложение работает, если я нажимаю красную кнопку (кнопка завершения вызова/кнопка питания), телефон блокируется, и экран становится пустым. Я хочу, чтобы можно было обнаружить это событие, возможно ли это?

4b9b3361

Ответ 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...
    }
}