想要捕捉蓝牙耳机按钮的按下事件

6
目前,我希望只要按下配对的蓝牙耳机(LG HBM-770)上的任何按钮(音量或通话按钮),就能在屏幕上显示“按钮已按下!”的消息。我已尝试此处的确切方法(这是我正在使用的代码):Android - registering a headset button click with BroadcastReceiver,但没有成功,包括建议的修复方法。数小时的谷歌搜索只指向那种编码方式。清单中启用了蓝牙权限。
如果我现在按下通话按钮,似乎从未到达我的应用程序,而是会弹出菜单,询问您选择哪个应用程序来处理它(语音搜索,Google Voice 等)。如果我按住蓝牙电话按钮,手机将呼叫最后拨打的号码。如果我尝试将 Intent 过滤器类型替换为 ACTION_POWER_DISCONNECTED,则在断开电源时完美运作,因此从那一点开始的代码似乎工作正常。
如果我不使用过滤器,只是有一个 Toast 弹出显示接收到的任何操作的 ID,那会很好,这样我就知道手机看起来像什么按钮。
1个回答

2

按下蓝牙耳机上的呼叫按钮将触发某些AT命令(在免提规范中检查)到手机,手机会处理,例如:当长时间按下呼叫按钮时,耳机将发送一个用于呼叫重拨的AT命令,其他用例也是如此。

意图和链接中提供的方法适用于手机上按下的按钮。


1
有没有特定的意图来处理蓝牙AT命令?VENDOR_SPECIFIC_HEADSET_EVENT似乎不起作用。 - Anenth
1
android.intent.action.MEDIA_BUTTON - HedeH

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接