我买了这个Key Quick Button Pressy Dustproof Plug Earphone Jack Plug,我想为此开发应用程序。
如何在Android中处理点击即服务或广播,以便点击运行一些逻辑?
此android official blog无效。我正在使用4.0 +
这是my code
谢谢!
答案 0 :(得分:2)
这就是所谓的媒体按钮,它确实会导致可以由BroadcastReceiver处理的系统广播,但它需要与常规接收器稍微不同地实现。一次只有一个应用程序可以接收广播,并且接收方必须在AudioManager
注册才能变为活动状态。 This developer page演示了如何实现和注册接收器。但是,该部分有一些印刷错误。系统服务需要转换为AudioManager
,以及registerMediaButtonEventReceiver()
和unregisterMediaButtonEventReceiver()
方法'每个调用都应该有一个ComponentName
对象作为参数。例如:
AudioManager am = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE);
ComponentName receiverName = new ComponentName(mContext, RemoteControlReceiver.class);
...
// Start listening for button presses
am.registerMediaButtonEventReceiver(receiverName);
...
// Stop listening for button presses
am.unregisterMediaButtonEventReceiver(receiverName);