Android BLE 为多个 BLE 设备设置多个通知



好的,所以我想知道如何实现这一目标。我尝试将我想阅读并从中获取通知的所有特征放入 2 个单独的队列中。一个用于读取特征,一个用于通知特征。我调用这样的东西(借口我的手机 atm 上没有实际代码(gatt.readcharacteristic(readQueue.element(((,然后在 onCharacteristicRead 回调上,我检查队列是否不为空并再次调用 readCharacteristic 方法。阅读有效。没有的部分正在接收通知。由于 onCharacteristicChanged 回调仅在值实际更改时才调用,而不是在 gatt.setCharacteristicNotification 完成后调用,因此我决定在编写特征描述符后检查 onDescriptWritr 回调上的 notifyqueue 是否不为空。所以我的问题是为什么以这种方式读取特征而设置通知却没有

我不完全遵循你的意思。您的意思是你有一个队列用于读取特征操作,另一个队列用于写入描述符操作?那行不通。您需要为同一蓝牙 Gatt 对象上的所有操作设置一个队列,因为 API 一次只允许一个未完成的操作。

最新更新