我正試圖編寫一個程序,將我的Android手機用作藍牙遙控器。 我的問題:手柄事件遙控器
當我按下一個按鈕,並按住時間下來ACTION_DOWN
,程序應該發送的每30毫秒定義的信號,例如:sendData(Integer.toString(1));
,而按鍵時。
我怎樣才能認識到這一點?!
我正試圖編寫一個程序,將我的Android手機用作藍牙遙控器。 我的問題:手柄事件遙控器
當我按下一個按鈕,並按住時間下來ACTION_DOWN
,程序應該發送的每30毫秒定義的信號,例如:sendData(Integer.toString(1));
,而按鍵時。
我怎樣才能認識到這一點?!
您基本上在ACTION_DOWN
上啓動一個線程並在ACTION_UP
事件中終止它。
在該線程內部,如果需要,每30毫秒執行一次工作。
在您的事件處理程序中,您可以使用從Handler擴展的類,在sendMessageDelayed
方法的一段時間後執行一個函數。在通過sendMessageDelayed
調用的方法中,您可以再次調用相同的方法,導致重複。
要使循環停止,請在處理程序類中調用removeMessages
。
爲什麼他需要一個BroadcastReceiver? – 2011-03-22 19:53:43
啊,我的道歉。我誤解了他的問題,並假定他也想用藍牙來控制這些行爲。我會更新我的答案。 – tvkanters 2011-03-22 19:57:38