我在Bluetooth Low Energy on Android上遇到了一些困难。我已经密切地完成了我链接的指南,以及检查完整示例code。我有一个BLE设备需要连接并从中检索数据帧。在一个点上的文件指示要从蓝牙低功耗设备读取流数据
查询/启用服务:服务UUID
UUID1
,特征UUIDUUID2
一旦这已被正确执行时,该装置应开始串流的在一个格式化的20个字节的帧具体做法。
寻找设备,连接到它并发现它的服务我没有问题。但后来我卡住了。要获得服务,调用BluetoothGatt
的方法getServices()
。这将返回一个BluetoothGattService
的列表,其中也包含BluetoothGattCharacteristic
的列表。很明显,BluetoothGattService
的UUID必须等于UUID1和BluetoothGattCharacteristic
的UUID到UUID2。但我不知道如何“启用”具有某些特征的此服务。
我的文档也没有提到描述符。我已经检查过,UUID2
特征中只有一个描述符。所以,现在我拥有了可能需要的一切 - 服务UUID,特征UUID和描述符......但是,如何读取数据?
调用'readCharacteristic(特性)','的onCharacteristicRead()'-callback不幸不叫。 – jdepypere
@jdepypere你可以测试当你在主线程上调用readCharacteristic(...)时是否还没有调用回调吗?在后台线程上调用BLE方法有很多问题... http://stackoverflow.com/a/20507449/1990080 –
我使用了[this method](http://stackoverflow.com/a/11125271/) 1319187)运行'mBluetoothGatt.readCharacteristic(特征)',但回调仍然没有调用... – jdepypere