Захватить события жестких кнопок, когда телефон заблокирован?

В настоящее время я собираю информацию, если возможно сделать какое-то заявление на быстрое получение в экстренных целях; я хочу, чтобы устройство запускало настраиваемое назначение камеры после нажатия какой-либо определенной комбинации клавиш.

Я уже проверил достаточно информации по этой теме, но мне все еще не ясно, насколько выполнима эта идея. До сих пор я понял, что это не означает, что Android-дизайн. Моей первой идеей было создать своего рода InputService и научить его жестко нажимать кнопку питания, чтобы прослушивать тройной щелчок. Но Сервисам не разрешено ловить KeyEvents. Таким образом, кнопка громкости вне эквалайзера.

Потом я натолкнулся на идею отреагировать на событие "ЭКРАН ВКЛ / ВЫКЛ", но 80% респондентов говорят, что это не сработает, а 20% утверждают, что они его получили. Но я не совсем уверен, действительно ли они это сделали.

И последний, но не менее важный вопрос: возможно ли запустить это настроенное намерение / приложение камеры из заблокированного режима?

Резюме: мне нужно проверить, возможно ли вообще запускать это приложение камеры (которое делает несколько быстрых фотографий в экстренных ситуациях), когда телефон находится в кармане в режиме блокировки. Кто-нибудь есть мнение для меня? Спасибо

1 ответ

Решение

Решение состоит в том, чтобы настроить BroadcastReceiver что слушает SCREEN_ON-Событие. Я сделал это внутри backgroundservice это ждали как минимум два SCREEN_ON-События в течение короткого периода времени. (менее двух событий, очевидно, не может работать)...

Service затем распустил Keyguard и смог даже пройти мимо пароля / жеста и запустить приложение. Забавный факт: закрытие приложения возвращается к рабочему столу, все еще находясь в системе.

Я сделал это в Android 4.2Источники сообщили, что увольнение с клавиатуры не работает с текущими версиями Android.

Другие вопросы по тегам