#android #button #detect #listen
#Android #кнопка #обнаружение #слушать
Вопрос:
Я пытаюсь обнаружить три последовательных нажатия кнопки питания Android, чтобы запустить действие из фоновой службы… Я использую действия SCREEN_ON и SCREEN_OFF для обнаружения одного нажатия кнопки питания.
Проблема, с которой я сталкиваюсь, заключается в том, что я не могу сказать, сколько времени проходит между двумя попаданиями или между первым и последним попаданием. Я использую SystemClock.elapsedRealtime () .. хотя я нажимаю на кнопку слишком быстро .. разница во времени не имеет смысла. Иногда он показывает 800 мс между двумя нажатиями, что логично, но иногда я получаю примерно 1290 мс, и это слишком долго для двух быстрых нажатий (я правильно подсчитываю количество попаданий)
Комментарии:
1. Прошедшее время в реальном времени не указывает время события, оно указывает текущее время. В это время системе нужно сделать много других дел, до тех пор она может просто не успеть запланировать ваше приложение.
2. Спасибо за ваш комментарий.. Я использовал System.currentTimeMillis() .. и с некоторыми статментами if .. Мне удалось это сделать
3. @user3396251 Можете ли вы поделиться тем, как вы выполняете логику? Мне удалось запустить действие, если кнопка питания нажата два раза подряд, но я не могу справиться, если она нажата 3 раза или более.