gpt4 book ai didi

android - 如何在Android中为BLE编写快速稳定的特性?

转载 作者:太空狗 更新时间:2023-10-29 15:52:01 24 4
gpt4 key购买 nike

我正在为 Android 中的 BLE 开发。 Android 可以通过Gatt.writeCharacteristic 向BLE 设备发送数据。

但是当我向 BLE 设备写入连续的 Characteristic 时(1 秒内 5 次),我将得到 GATT_DISCONNECTED 并返回 null 时我尝试 getServiceGetCharacteristic

我在市场上见过一些BLE LED产品。它在 Android 中使用颜色选择器,如下图所示:

enter image description here

当用户在颜色选择器上快速改变颜色时,BLE LED 也会立即改变颜色。

如何像市面上的BLE LED产品一样,在Android中为BLE编写快速稳定的特性?

最佳答案

当您调用 gatt.writeCharacteristic 时,您需要做两件事:

  1. 需要对gatt的读写请求进行排队,这样在发起读写请求时,必须等待BluetoothGattCallback中相应的回调,才能请求下一次读写。这是一个没有详细记录的 Android BluetoothGatt 行为。
  2. 与上面的 1. 有点相关,您应该检查 gatt 读写请求的 bool 返回值。如果它没有返回 true,那么你的请求失败了。当您发出下一个请求时某些其他 gatt 操作仍在进行中时,就会发生这种情况。

我发现快速读取(或写入)BLE 特性的最佳方法是发出请求,等待回调并从回调中发出下一个请求。如果有更快或更可靠的方法,我不知道。

关于android - 如何在Android中为BLE编写快速稳定的特性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32389351/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com