Я пытаюсь написать программу, чтобы использовать свой Android-телефон в качестве пульта дистанционного управления Bluetooth. Моя проблема:
Когда я нажимаю кнопку и удерживаю em down ACTION_DOWN
, программа должна отправлять каждые 30 мс определенный сигнал, например: sendData(Integer.toString(1));
, а кнопка не работает.
Как я могу это понять?!
В основном вы запускаете поток на ACTION_DOWN
и завершаете его в событии ACTION_UP
.
Внутри этого потока вы делаете свою работу каждые 30 миллисекунд, если хотите.
В обработчике событий вы можете использовать класс, расширенный из обработчика, для выполнения функции через определенное время с помощью метода sendMessageDelayed
. Внутри метода, вызванного через sendMessageDelayed
, вы можете снова вызвать тот же метод, заставив его повторить.
Чтобы остановить цикл, вызовите removeMessages
в классе обработчика.