如何閱讀BluetoothGattCharacteristic
屬性如特徵Readable
,Writable
或Notifiable
。Android如何閱讀BLE屬性Readable可寫的應具備的GATT特徵
8
A
回答
12
/**
* @return Returns <b>true</b> if property is writable
*/
public static boolean isCharacteristicWriteable(BluetoothGattCharacteristic pChar) {
return (pChar.getProperties() & (BluetoothGattCharacteristic.PROPERTY_WRITE | BluetoothGattCharacteristic.PROPERTY_WRITE_NO_RESPONSE)) != 0;
}
/**
* @return Returns <b>true</b> if property is Readable
*/
public static boolean isCharacterisitcReadable(BluetoothGattCharacteristic pChar) {
return ((pChar.getProperties() & BluetoothGattCharacteristic.PROPERTY_READ) != 0);
}
/**
* @return Returns <b>true</b> if property is supports notification
*/
public boolean isCharacterisiticNotifiable(BluetoothGattCharacteristic pChar) {
return (pChar.getProperties() & BluetoothGattCharacteristic.PROPERTY_NOTIFY) != 0;
}
0
我遇到了類似的問題,其中示例代碼只有在因操作符「|」而導致特徵爲READ時才起作用。如果特性屬於其他類型,如通知或寫入,則代碼將始終將其設置爲READ。正確的代碼應該如下所示:
if((charaProp & BluetoothGattCharacteristic.PROPERTY_READ) > 0){
} else if(charaProp | BluetoothGattCharacteristic.PROPERTY_NOTIFICATION) > 0){
}
(......與其他案件繼續)
同樣,谷歌的代碼示例是不正確的。
大衛
+0
你的意思是「charaProp&BluetoothGattCharacteristic.PROPERTY_NOTIFICATION」,對吧? – Emil
相關問題
- 1. Android Ble在BLE設備的GATT服務中找不到特徵
- 2. Android BLE閱讀GAT特性
- 3. 如何知道BLE設備何時訂閱Android上的特徵?
- 4. 獲得Android BLE響應寫入特徵
- 5. Android BLE GATT多寫入 - 寫入特性失敗
- 6. Android,藍牙,BTLE,GATT閱讀特徵失敗?
- 7. 無法讀取特徵。的Android BLE
- 8. GATT工具無法讀取/寫入特徵
- 9. BLE Android中寫入GATT後的答案
- 10. 如何將READ,NOTIFY屬性添加到Android BLE GATT Server中的自定義特徵?
- 11. Android 4.3的BLE如何寫特性
- 12. BLE Android,無法啓用超過1通知閱讀特徵
- 13. 無法從Android讀取BLE特徵
- 14. 具有屬性的特徵
- 15. android | BLE將值寫入特徵
- 16. 閱讀Android上的GATT屬性問題藍牙低功耗
- 17. BLE GATT服務器特性定義
- 18. BLE更改要寫入的UUID特徵
- 19. Android如何通過PriorityQueue讀取多個BLE特徵
- 20. 發送Android BLE GATT通知
- 21. BLE GATT上傳數據 - Android
- 22. Ble Beacon Gpio閱讀/寫作
- 23. 通過GATT(UWP)發送給BLE設備的寫請求
- 24. 閱讀特徵錯誤BLE與evothings和rPi
- 25. NFC或BLE閱讀的設備
- 26. 如何從BLE設備的Arraybuffer中獲取值讀取特徵值
- 27. BLE寫入特性的ios
- 28. 讀取/寫入設備iOS 7中BLE設備的名稱特性
- 29. iOS swift BLE讀取多個特徵
- 30. 定位Ble設備GATT服務推薦
我真的不知道爲什麼,但Android的官方樣品中是 「如果((charaProp | BluetoothGattCharacteristic.PROPERTY_READ)> 0)」 使用 '&' 在我看來是正確的,但「| '正在爲我工作。無論如何,你能解釋一下,爲什麼這個BluetoothGattCharacteristic屬性有它們的值?例如對於PROPERTY_READ 0x02。在任何服務中,Read是我的第一個屬性。 – Krystian
這些是服務地址,您在設備上運行的每項服務都有不同的地址。 –