Android: Как поймать 2 раза короткое нажатие кнопки увеличения громкости или длительное удержание?

#android #button #background-process #volume

#Android #кнопка #фоновый процесс #громкость

Вопрос:

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

Это должно работать также, если у телефона заблокирован экран или другое приложение находится на переднем плане.

Спасибо за любой совет или пример, как я могу это сделать.

Ответ №1:

Официальный широковещательный приемник для изменения громкости срабатывает только при изменении состояния с громкости на / с тихой на / с вибрации. Так что, возможно, при некоторых обстоятельствах он может обнаружить длительное удержание громкости, но я не знаю. Этот широковещательный приемник вообще не детализирован.

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

Если вы создаете собственное ПЗУ, как может подразумевать ваше имя пользователя, обнаружение этих клавиш будет намного проще. Это так? Вы создаете свой собственный ПЗУ? Будет ли приложение, которое вы создаете, иметь root-доступ?

Комментарии:

1. Привет, спасибо за ответ, я не создаю свой собственный rom. Мне просто нужно найти решение, как поймать некоторые аппаратные кнопки на устройстве.