我买了这个Key Quick Button Pressy Dustproof Plug Earphone Jack Plug我想为此开发应用程序。
如何在 Android 中将点击作为服务或广播处理,以便在点击时运行一些逻辑?
这android official blog不工作。我正在使用 4.0+
这是 my code
谢谢!
最佳答案
这就是所谓的媒体按钮,它确实会导致可以由 BroadcastReceiver 处理的系统广播,但它的实现方式需要与常规 Receiver 略有不同。一次只有一个应用程序可以接收广播,并且接收器必须在 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);
关于android - 处理音频插孔按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25978659/