0
我在智能手机(AG-Audio Gateway)和嵌入式主板(HF-Handsfree)之间使用BlueZ堆栈进行蓝牙连接。BlueZ哪一层得到蓝牙断开的原因
在Bluez(HCI,L2CAP,RFCOMM)的哪一层我们会得到蓝牙断开的原因。因此,我们可以区分以下类型的断开连接:
- 智能手机SIMPLE DISCONNECT(智能手机SIMPLE DISCONNECT),但手机的成对列表中仍然有HF嵌入式设备。
- 蓝牙连接期间的智能手机FORGET HF设备。
- 断开,因为HF设备去智能手机的蓝牙覆盖范围
只要通过智能手机(AG)发起的断线,我得到的理由:HCI_OE_USER_ENDED_CONNECTION \t \t 0×13 – Hari
只要通过智能手机(AG)发起的断线,我得到的理由: HCI_OE_USER_ENDED_CONNECTION \t \t 0×13 但这是不够的区分以下类型的断开连接: 1.智能手机SIMPLE DISCONNECT(智能手机SIMPLE DISCONNECT),但手机仍然在其配对列表中包含HF嵌入式设备。 2.蓝牙连接期间的Smart-Phone FORGET HF设备。 3.智能手机在蓝牙连接期间切换蓝牙。 从手机端(AG)发起断开连接时,我正在收到特定事件,但在此可以进一步区分断开类型吗? – Hari
根据情况,错误代码应该有所不同。例如,如果超出范围,我会期待“连接超时”(0x08)。此外,如果AG发起断开连接,您可能会在智能手机上收到“通过本地主机终止连接”(0x16)。由于AG发起断开连接,所以应该知道原因,并且返回码意味着该过程是成功的。 –