Android BLE - 如何在块中读取大的特征值(使用偏移量)?

时间:2016-07-28 15:37:13

标签: android bluetooth-lowenergy

我正在使用Android SDK的 android.bluetooth android.bluetooth.le API。

我想实现一个app(占据核心角色,并连接到BLE外设以读取特征值和描述符)。

应用程序需要读取的特征值很大,因此需要以连续的块读取它。我对如何实现这一点的理解是,app应该在读取请求中包含一个偏移量,它向外围设备指示要在响应中返回的总数据的子部分。

但是,API仅提供BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic)方法。我找不到包含偏移参数的读取特性API调用,用于制作我在前一段中描述的部分读取特征请求的类型。

有谁知道我是如何实现这些分块特征读取的?

注意:我知道存在类似的堆栈溢出问题here。它没有为我正在处理的Android方面提供答案。

1 个答案:

答案 0 :(得分:2)

只需调用readCharacteristic,它将在后台读取所有块。当读取所有块时,将调用onCharacteristicRead。