【发布时间】:2017-04-05 06:26:05
【问题描述】:
我正在创建一个连接到蓝牙 LE 设备的应用。一切正常,但如果拔下设备,应用程序需要 10-15 秒才能发送 STATE_DISCONNECTED 广播。如果我在拔下设备后尝试写入设备,我仍然会在我的 BluetoothGattCallback 中将其视为 GATT_SUCCESS。
如果用户尝试更改 BLE 设备上的某些内容并且其写入失败 2-3 次,我将使用它,然后显示断开连接的屏幕(或失去连接以便用户获得更快的反馈),但这并没有似乎它会起作用。是否有更快的方法来检查 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!");
}
}
【问题讨论】:
-
你在使用developer.android.com/reference/android/bluetooth/…吗? onCharacteristicWrite 只有在收到写入响应时才应该以成功状态调用
标签: android bluetooth bluetooth-lowenergy