2017-06-14 96 views
0

我调用writeCharacteristic都使用WRITE_TYPE_NO_RESPONSE和没有it.Am我应该从两个或一个或没有得到响应? 有没有任何回调来捕捉这种回应? onReliableWriteCompleted callBack确保消息在BLE设备端(从电话)成功发送或者是否意味着消息已成功发送到设备(从电话)并且已经在空中发布。获得Android BLE响应写入特征

回答

0

如果使用WRITE_TYPE_NO_RESPONSE,只要堆栈就绪并且有空间接受新的请求,就会得到onCharacteristicWrite回调。这并不意味着对方已经收到了。

如果您不使用WRITE_TYPE_NO_RESPONSE,只要远程设备发送回写入响应,就会得到onCharacteristicWrite回调。

onReliableWriteCompleted将在远程端已确认所有内容时被调用。

+0

最后两点之间的区别是什么?除非有多次写入,否则两者在我看来都是相同的。 – Raulp

+0

您可以阅读蓝牙核心规范第3卷第G部分第4.9.5章中有关可靠写入的内容。基本上,外设将数据发送回中央,然后确认它等于首次发送的数据。据我所知,真的很奇怪,因为数据包已通过空中CRC校验。 – Emil