Android Bluetooth Gatt Server/Client 同时连接的问题
Issues with Android Bluetooth Gatt Server/Client Simultaneous Connection
我正在努力创建一个应用程序,它可以同时充当 gatt 连接的客户端和服务器,但每次我 运行 服务器时,我都会收到未知状态和断开连接状态表现得像个客户。
这是现在的过程:
1) 启动一个 phone 作为服务器 (Phone1)
2) 启动另一个 phone 作为客户端 (Phone2)
3) 将 Phone2 连接到 Phone1 并接收有关当前时间的通知更新。
4) 在 Phone2 上启动服务器 gatt 服务器,这是我的蓝牙 gatt 回调的未知状态。首先它断开 Phone2 与 Phone1 的连接(断开 gatt 连接),然后 Phone2 的 onConnectionStateChange 用于 BluetoothGattCallBack returns 断开连接状态和状态代码 19.
我不确定是什么原因造成的,但两个 phone 都是相同的摩托罗拉 XT1526 API 22 级。这可能是 phone 不能同时充当 gatt 服务器和客户端的硬件问题吗?我还尝试过对同一个 phone 的客户端和服务器使用一个蓝牙适配器对象,但也尝试过两个单独的蓝牙适配器对象。任何帮助将不胜感激。
根据蓝牙 specification(蓝牙规范 4.2 第 6 卷 B 4.5 部分:连接状态):
"There shall be only one connection between two LE device addresses.
An initiator shall not send a connection request to an advertiser it is already connected to.
If an advertiser receives a connection request from an initiator it is already connected to, it shall ignore that request."
可能 Android
手机可以防止这种断开连接的情况,因为我这里也有同样的问题。
我正在努力创建一个应用程序,它可以同时充当 gatt 连接的客户端和服务器,但每次我 运行 服务器时,我都会收到未知状态和断开连接状态表现得像个客户。
这是现在的过程:
1) 启动一个 phone 作为服务器 (Phone1)
2) 启动另一个 phone 作为客户端 (Phone2)
3) 将 Phone2 连接到 Phone1 并接收有关当前时间的通知更新。
4) 在 Phone2 上启动服务器 gatt 服务器,这是我的蓝牙 gatt 回调的未知状态。首先它断开 Phone2 与 Phone1 的连接(断开 gatt 连接),然后 Phone2 的 onConnectionStateChange 用于 BluetoothGattCallBack returns 断开连接状态和状态代码 19.
我不确定是什么原因造成的,但两个 phone 都是相同的摩托罗拉 XT1526 API 22 级。这可能是 phone 不能同时充当 gatt 服务器和客户端的硬件问题吗?我还尝试过对同一个 phone 的客户端和服务器使用一个蓝牙适配器对象,但也尝试过两个单独的蓝牙适配器对象。任何帮助将不胜感激。
根据蓝牙 specification(蓝牙规范 4.2 第 6 卷 B 4.5 部分:连接状态):
"There shall be only one connection between two LE device addresses. An initiator shall not send a connection request to an advertiser it is already connected to. If an advertiser receives a connection request from an initiator it is already connected to, it shall ignore that request."
可能 Android
手机可以防止这种断开连接的情况,因为我这里也有同样的问题。