处理音频插孔按钮

时间:2014-09-22 16:19:23

标签: android

我买了这个Key Quick Button Pressy Dustproof Plug Earphone Jack Plug,我想为此开发应用程序。

如何在Android中处理点击即服务或广播,以便点击运行一些逻辑?

android official blog无效。我正在使用4.0 +

这是my code

谢谢!

1 个答案:

答案 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);