0

哪一個是實際確認callBack,它表示數據已成功從Android Phone傳遞到遠程BLE設備? onCharacteristicWrite() or onCharacteristicChanged()或其他東西。 我寫的數據是BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE.在Android BLE中使用哪種回調來確保向遠程BLE設備成功發送消息?

+0

onCharacteristicWrite()將在成功交付時被調用。 –

+0

@UsmanRana我已經看到了一些實例,gettign這個回調並不總是意味着遠程設備已經獲得了Gatt層的數據。我還讀了這些writeRequests在Android BLE堆棧緩衝區中排隊,並且在發送數據時到遠程設備的空氣會將此回叫調用回來。您是否有任何官方資料來證明您的聲明? – Raulp

+0

onCharacteristicChanged()在啓用通知時調用,因此無論何時在特徵中檢測到任何更改時都會觸發。當您在設備上寫入數據包並且設備響應確認時,會專門調用onCharacteristicWrite()。檢查文檔: https://developer.android.com/reference/android/bluetooth/BluetoothGattCallback.html –

回答

0

當您使用BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE時,根本沒有確認成功發送。當你得到onCharacteristicWrite回調函數時,它只意味着數據包已被緩衝,而藍牙堆棧有空間接受另一個數據包。

+0

你好埃米爾是否記錄在某處officialy? – Raulp

+0

像往常一樣使用Android的藍牙文檔:沒有 – Emil