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

时间:2018-04-10 20:49:52

标签: java android bluetooth-lowenergy

好的,所以我想知道如何实现这一目标。我已经尝试将我想要阅读的所有特征放入2个不同的队列中。一个用于readCharacteristics,另一个用于notifyCharacteristics。我打电话给这样的事情(借口我手机没有实际的代码)gatt.readcharacteristic(readQueue.element())然后onCharacteristicRead回调我检查队列是否为空并再次调用readCharacteristic方法。阅读作品。没有的部分是收到通知。由于onCharacteristicChanged回调仅在值实际发生变化时调用,而不是在gatt.setCharacteristicNotification完成后调用,我决定在写入特征描述符后检查onDescriptWritr回调上的notifyqueue是否为空。所以我的问题是为什么阅读特征以这种方式工作,但设置通知不是

1 个答案:

答案 0 :(得分:1)

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