Android getProperties方法是否返回蓝牙特征的标志字段?

时间:2017-05-17 20:50:08

标签: android bluetooth android-bluetooth flags characteristics

我一直在研究心率测量特征文档,以便了解特征的每个字节的含义。我的理解是特征的最低有效字节对应于标志字段。所以这行代码(在Android应用程序中)应该返回标志:

characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0);

此外,从Android BluetoothGattCharacteristic文档中,看起来getProperties方法也应该返回标志字段。

但是,当我将这两个值打印到控制台时,它们是不同的。

Log.d(TAG, "Flags  : " + Integer.toBinaryString(characteristic.getProperties()));
Log.d(TAG, "Byte  0: " + Integer.toBinaryString(characteristic.getIntValue(BluetoothGattCharacteristic.FORMAT_UINT8, 0)));

控制台输出

byte data﹕ Flags  : 10000
byte data﹕ Byte  0: 10110

我注意到只是传感器接触状态位不同。只是这些位不被视为属性吗?或者我的假设是否正确?

参考

人力资源测量特征: https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.heart_rate_measurement.xml

getProperties方法:https://developer.android.com/reference/android/bluetooth/BluetoothGattCharacteristic.html#getProperties()

0 个答案:

没有答案