我正在創建一個連接到藍牙LE設備的應用程序。一切正常,但如果設備被拔出,則需要10-15秒才能發送STATE_DISCONNECTED廣播。如果我在拔出設備後嘗試寫入設備,我仍將其視爲我的BluetoothGattCallback中的GATT_SUCCESS。Android藍牙LE拔出的設備寫入成功(更快斷開的方法?)
我打算使用如果用戶試圖改變BLE設備上的某些東西,並且其寫入失敗2-3次,然後顯示斷開連接的屏幕(或失去連接,以便用戶有更快的反饋),但是, t看起來像它的工作。有沒有更快的方法檢查BLE設備是否不能再被看到?
@Override
public void onCharacteristicWrite(BluetoothGatt gatt,
BluetoothGattCharacteristic characteristic,
int status)
{
if (status == BluetoothGatt.GATT_SUCCESS)
{
// Is true even if the device has been unplugged?
Log.i(TAG, "onCharacteristicWrite Success!");
} else {
Log.i(TAG, "onCharacteristicWrite Failed!");
}
}
您使用的是https://developer.android.com/reference/android/bluetooth/BluetoothGattCharacteristic.html#PROPERTY_WRITE_NO_RESPONSE嗎? onCharacteristicWrite只有在獲得寫入響應時才能成功調用 – Emil