2017-06-14 112 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