android - 处理音频插孔按钮

标签 android

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

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

android official blog不工作。我正在使用 4.0+

这是 my code

谢谢!

最佳答案

这就是所谓的媒体按钮,它确实会导致可以由 BroadcastReceiver 处理的系统广播,但它的实现方式需要与常规 Receiver 略有不同。一次只有一个应用程序可以接收广播,并且接收器必须在 AudioManager 中注册才能激活。 This developer page演示如何实现和注册接收器。但是,该部分有几个打印错误。系统服务需要转换为 AudioManagerregisterMediaButtonEventReceiver()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/

相关文章:

android - 我不想在重新加载 ListView 时更改 listview 在 android 中的位置

android - CCA : Chrome identity pops up Account Chooser every time

android - 错误:null value in entry: mainDexListProguardOutputFile=null

javascript - 有人可以一劳永逸地解释无法调用 determinedVisibility() - 从未见过 pid 的连接

java - LogCat 垃圾邮件 GC_FOR_MALLOC 但只使用了 50% 的内存

android - 从相机获取图像时布局 getHeight() 和 getWidth() 返回 0

android - 布局看起来不同?

android - 深层链接进入应用程序后的后退按钮不会返回到它来自的位置

android - 未调用来自 GCMIntentService 的 onRegistered()

android - 每次循环时更改 TextView 的名称或变量 - Android