是否有人在使用安卓设备进行Blob请求(长时间读取)?
我们正在与TI的CC2540一起工作,连接到安卓4.4。 我们尝试读取一个长特征值(大小超过23个字节)。在安卓BLE的API中,我们没有看到readBlob或readLong方法。
我们期望安卓BLE堆栈通过读取特征表示格式(与通知方式相同)来为我们完成工作,但它并不能正常工作。
我们不知道如何通过安卓发送Blob请求。
是否有人在使用安卓设备进行Blob请求(长时间读取)?
我们正在与TI的CC2540一起工作,连接到安卓4.4。 我们尝试读取一个长特征值(大小超过23个字节)。在安卓BLE的API中,我们没有看到readBlob或readLong方法。
我们期望安卓BLE堆栈通过读取特征表示格式(与通知方式相同)来为我们完成工作,但它并不能正常工作。
我们不知道如何通过安卓发送Blob请求。
请让我明确一下,Android只有一个用于读取特征值的方法readCharacteristic(characteristic)。您可以使用此方法获取任何长度的特征值。 Android负责构建ReadBlob请求;这都在后端完成。但是,您需要更改CC2540的代码以使其与ReadBlob请求配合使用。一旦您在CC2540端进行了所有必需的更改,在从Android调用readCharacteristic()时,您将在onCharacteristicRead()回调中获得整个特征值,并且您可以对其进行访问。
不行,BLE 特征值的长度限制为 20 字节。因此,如果您想发送或接收超过 20 字节的数据,您需要将其分成 20 字节一组的块。请参见此主题以了解更多信息。