2015-06-01 133 views
2

我正在开发BLE for Android,我有一个关于onCharacteristicWrite的问题。onCharacteristicWrite在Android中如何知道状态是否成功?

我知道onCharacteristicWrite会在向远程BLE设备写入值时调用并返回状态。

onCharacteristicWrite返回状态是0Gatt.writeCharacteristic后,就意味着写成功。

问:

如何onCharacteristicWrite知道返回状态是0? 远程BLE设备是否会向Android发送ACK?

回答

2

是的,BLE设备将发送成功的写入确认。它是低级蓝牙低功耗规范的一部分。

1

从我可以告诉,它假定如果没有收到错误,它已成功发送。所以要回答你的问题,并不知道

我知道这是因为我已经收到GATT_SUCCESS连续多次在onCharacteristicWrite到被物理关机状态,因此设备的原因,不能可能已收到所发送的数据。

+0

该特性可能会禁止写入确认。所以是的,在这种情况下,发件人不知道并假定成功。但在写入确认启用后,发件人会收到有关接收的通知,并知道写入是否成功。 – grzegorz

相关问题