我在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