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