Android - обнаружение события разблокировки телефона, не экран на

Есть ли способ определить, когда пользователь разблокирует телефон? Я знаю о ACTION_SCREEN_ON и ACTION_SCREEN_OFF , но, похоже, они срабатывают, когда экран включается / выключается при нажатии кнопки питания, но не фактически, когда телефон разблокируется при нажатии на кнопку Меню. кнопка ...

Я пытаюсь обнаружить разблокировку / блокировку во время выполнения действия, и я хочу возобновить действие после разблокировки.

54
задан Kara 16 July 2014 в 10:42
поделиться

2 ответа

Не тестировал, но попробовал следующее:

  • Подождите ACTION_SCREEN_ON .
  • (После включения экрана) Дождитесь ACTION_MAIN с категорией CATEGORY_HOME (которая запускает главный экран) - вероятно, это то, что отправляется после разблокировки телефона.

1-й шаг необходим для фильтрации обычных нажатий клавиш HOME.

1
ответ дан 7 November 2019 в 08:02
поделиться

Вот что нужно сделать:

Допустим, вы хотите обнаружить событие разблокировки и сделать что-нибудь в своей деятельности, когда телефон разблокирован. Имейте широковещательный приемник для ACTION_SCREEN_ON, ACTION_SCREEN_OFF и ACTION_USER_PRESENT.

onResume активности будет вызываться при запуске ACTION_SCREEN_ON. Создайте обработчик и дождитесь ACTION_USER_PRESENT. Когда он будет запущен, реализуйте то, что вы хотите для своей деятельности.

Благодарим за ответ CommonsWare здесь: Android - Что происходит, когда устройство разблокировано?

62
ответ дан 7 November 2019 в 08:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: