Android - Получение кнопки громкости долгим нажатием

Может кто-нибудь показать мне пример кода о том, как получить длинный щелчок (например, 2 секунды) на аппаратной клавише увеличения громкости?

Спасибо :)

EDIT

Класс, с которым я хочу захватить длинный клик - это Сервис. Как я могу это сделать?

Ответы на вопрос(2)

Решение Вопроса

этот ответ может быть полезен:

https://stackoverflow.com/a/5269673/1401257

EDIT:

Я никогда не пытался иметь ключевого слушателя внутри службы, но с небольшой помощью от Google я нашел это:Слушатель изменения громкости?

Кажется, что нормальные ключевые события могут быть обработаны только из действий. У меня нет времени, чтобы попробовать это самому, но для захвата длинных кликов можно было бы объединить ответ по ссылке и ответ Люка. Из того, что я понимаю о BroadcastReceivers, вы захотите создать приемник, который будет уведомлять службу, когда кто-то нажимает кнопки громкости.

 arielschon1221 мая 2012 г., 16:25
Как я могу заставить это работать внутри Сервиса?
 arielschon1221 мая 2012 г., 15:04
Только секунду, если я хочу захватить это в Сервисе, это не будет работать. Как я могу это сделать?

if(clickedDown) {
if(beginningTime + 2000 < System.currentTimeMillis()) {
// Ok, the button has been clicked down for 2 seconds
}
}
else {
beginningTime = System.currentTimeMillis();
}

Применяя что-то подобное, вы сможете определить время ожидания.

 arielschon1221 мая 2012 г., 15:09
Ответ выше решил это, но не могли бы вы взглянуть на мой комментарий и попытаться помочь мне?

Ваш ответ на вопрос