WriteCharacteristic和回调onCharacteristicWrite之间的延迟

时间:2015-07-31 09:32:55

标签: android delphi bluetooth bluetooth-lowenergy

我正在尝试通过蓝牙低功耗连接发送多个数据段。正如我在这篇文章(link)中读到的那样,在触发onCharacteristicWrite回调之前,不会再发送任何数据。我已经确认了这一点,但是在我写入特征后大约 3 秒后才会触发回调,这会降低我的应用程序速度。我知道数据已经到了,因为我用FTDI电缆监视蓝牙模块。

我已尝试按照此帖(link)中的建议更改连接间隔,并且还减少了“从属延迟”但没有任何更改。

为什么会发生这种情况?如何在writeCharacteristic和OnCharacteristicWrite之间减少这个时间?

1 个答案:

答案 0 :(得分:0)

我认为这是因为设备响应对Android来说太迟了 "写类型"默认值为" BluetoothGattCharacteristic.WRITE_TYPE_DEFAULT"

解决方案是您应该将其更改为" BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE" ,以便不等待来自设备的响应:

bluetoothGattCharacteristic.setWriteType(BluetoothGattCharacteristic.WRITE_TYPE_NO_RESPONSE);

加快 onCharacteristicWrite()触发的回调持续时间。