0
Android的BLE API(并且据我所知,所有BLE API)都是异步的并且不是排队的。也就是说,如果你做的(伪):检查Android上是否有挂起的BLE操作
characteristic.write("a");
characteristic.write("b");
第二记录将立即取代第一个,这将永远不会被发送。在实践中,你必须做这样的事情:
characteristic.write("a");
void onCharacteristicWrite() {
characteristic.write("b");
}
我的问题是:有没有在Android上的方式来检查BluetoothGatt
已经挂起的读或写操作,这样我就可以知道我是否会被改写的现有的操作?或者我需要手动跟踪自己?
是的这是类似于[北欧所做的](https ://github.com/NordicSemiconductor/puck-central-android/blob/master/PuckCentral/app/src/main/java/no/nordicsemi/puckcentral/bluetooth/gatt/GattManager.java#L53)。这可能是最好的方法;我只是想知道是否有其他选择。 – Timmmm