当前位置: 首页 > 知识库问答 >
问题:

未收到Android Bluetooth ACTION\u VENDOR\u SPECIFIC\u HEADSET\u事件

夏侯博
2023-03-14

我正在开发一个应用程序,用于连接基于HFP(BluetoothHeadset)协议的蓝牙设备。

蓝牙耳机通过蓝牙HFP发送AT(ACTION\u VENDOR\u SPECIFIC\u headset\u EVENT)指令。我已经成功地建立了设备之间的连接。

我已经写了一个广播接收器,并在舱单上登记了它。

<receiver
            android:name=".BluetoothReceiver"
            android:enabled="true"
            android:exported="true">
            <intent-filter>
                <action android:name="android.bluetooth.adapter.action.STATE_CHANGED" />
                <action android:name="android.bluetooth.device.action.BOND_STATE_CHANGED" />
                <action android:name="android.bluetooth.headset.profile.action.CONNECTION_STATE_CHANGED" />
                <action android:name="android.bluetooth.headset.action.VENDOR_SPECIFIC_HEADSET_EVENT" />
                <action android:name="android.bluetooth.headset.profile.action.AUDIO_STATE_CHANGED" />

        </receiver>

上述接收器适用于广播中提及的所有动作和触发器,但

“android.bluetooth.headset.action.VENDOR\u SPECIFIC\u headset\u事件”。

我无法接收特定于供应商的耳机事件。蓝牙设备通过上述操作发送数据。我参考了以下文件

https://developer.android.com/reference/android/bluetooth/BluetoothHeadset.html

共有1个答案

万涵亮
2023-03-14

您确定耳机服务会广播它吗?您可以在Android源代码存储库中检查供应商特定的AT命令在您的Android版本中是如何处理的。例如,Android 8.1的HeadsetStateMachine上的进程未知

顺便说一句,你真的没有意图过滤器关闭标签吗?

Upd2:因为他们在意图中使用addClass和companyid,所以您可能还需要在清单中描述所有必需的类别。

 类似资料:
  • 无论出于何种原因,我无法从laravel echo接收客户端的任何数据。我使用的是LaravelEcho服务器(socket.io)、redis广播和redis队列。据我所知,它们都是功能性的。我将带您了解如何为测试设置它。首先,我创建了一个UserCreated事件: 然后,为了测试此事件,我创建了一个CreateUser命令: 最后,这是我的laravel echo服务器。json: 接下来,

  • 你好我和Gradle和IntelliJ有个问题不知从哪里冒出来。一切都在运转,但有一天它停止运转了。我指的是在IntelliJ中与Gradle的任何互动。我有Spring Boot应用程序Gradle 6.7。当没有的时候。根目录中的gradle目录,一切正常。如果目录存在,我会得到 主类名尚未配置,无法解析 对于gradle build或 未收到测试事件 对于gradle测试。如果我删除. gr

  • 我正在尝试用H2进行JUnit测试,我的应用程序配置为与PostgreSQL和ACL的Spring Boot一起使用。 因此,我必须在应用程序中添加以下两行: 创建AclService。 我有application.properties配置() 但它总是回报我: 组织。springframework。jdbc。未分类SQLException:StatementCallback;SQL的未分类SQL

  • 我们正在使用解析存储聊天消息,我们正在使用解析通知。 对于iOS,我们这样做是为了在Parse的安装表中创建条目…它在parse的安装表中创建条目,我认为这是接收通知所必须的。 我没有收到来自解析的通知,我认为这是没有收到通知的原因… 事实是这样的吗? 有谁能帮我走上正路吗? 更新 现在收到通知但仍有些疑虑。我在用户登录时执行此操作。我有放条件,如果用户没有创建,那么只有创建,否则不。我没有把它加

  • 收到请求事件 function onRequest(Request $request,Response $response); 当easySwoole收到任何的HTTP请求时,均会执行该事件。该事件可以对HTTP请求全局拦截。 $sec = new Security(); if($sec->check($request->getRequestParam())){ $response->wri