我正试图编写一个程序,将我的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