在Android的BLE API(BluetoothGatt)中,有一些处理可靠方法的方法:
public boolean beginReliableWrite ()
public void abortReliableWrite (BluetoothDevice mDevice)
public boolean executeReliableWrite ()
也有一个回调(在BluetoothGattCallback中):
public void onReliableWriteCompleted (BluetoothGatt gatt, int status)
我找不到任何文档。它是什么?与“正常”(不可靠?)的写法有何不同?
最佳答案
可靠的写操作可以检查回传的值以及一个或多个消息的原子执行。
可以在BLE part of Mozillas Boot 2 Gecko Project documentation中找到有关可靠写入过程的很好的解释。即使对于JavaScript来说,beginReliableWrite()
的描述对于理解过程也非常有帮助:
您开始可靠的写入,
gatt.beginReliableWrite();
设置特征值并写入。
characteristic.setValue(value);
gatt.writeCharacteristic(characteristic);
writeCharacteristic()
调用将触发其“正常”回调。参数characteristic
包含可以验证的实际写入值:@Override
public void onCharacteristicWrite(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic,
int status) {
...
if(characteristic.getValue() != value) {
gatt.abortReliableWrite();
} else {
gatt.executeReliableWrite();
}
...
}
执行可靠的写入将触发
onReliableWriteCompleted(BluetoothGatt gatt, int status)
回调。关于android - BLE中的 “reliable write”是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24485536/