2016-04-18 125 views
1

我正在使用BLE溫度計。我可以成功地設置描述符的'通知',並且我經常得到特徵。從特性回來的值是一個十六進制:Android BLE .getValue()輸出是什麼意思?

0xAA061100020A0023

我可以在Android中使用

String value = new String(myByteArray) 

但是這個轉換爲字符串,字符串只是一堆雜亂的UTF-的16個字符看起來沒有任何意義。

我想知道,這個BLE溫度計的創建者是否有可能以某種方式加密了數據,以便只有他們的應用程序才能讀取它?

回答

0

documentation of getValue()

競標獲取此特徵的存儲值。

該函數通過調用readCharacteristic(BluetoothGattCharacteristic)返回此特性的存儲值 。 由於 讀取特徵操作或接收到特徵更新 通知,特徵的高速緩存值將被更新。

所以,這表示BLE特徵,這是用於構建GATT服務基本數據元素的值。

+0

你能告訴我如何改變成某種意思?在這種情況下,該值的某處是溫度測量。 –

+0

您可以通過調用setValue()來更改存儲的值。 http://developer.android.com/reference/android/bluetooth/BluetoothGattCharacteristic.html#setValue(byte []) – Swayam

+1

我不想更改存儲的值。我想從getValue()讀取溫度,但數據沒有意義。 –