在尝试阅读Android API 18中蓝牙低能耗GATT特性的值时,我遇到了以下困境:检索存储在特征中的值的正确方法是什么?这个动作应该在堆栈的哪个级别进行?
在进行自己的研究时,我偶然发现了两种可能的方法:
BluetoothGattCharacteristic .getValue()
public void onClick(View v){
byteValue = mBTValueCharacteristic.getValue();
if ((byteValue[0] & 0x01) == 1)
byteValue[0] = 0x00;
else
byteValue[0] = 0x01;
mBTValueCharacteristic.setValue(byteValue);
mBTGatt.writeCharacteristic(mBTValueCharacteristic);
}
以上是导致我遇到此问题的原始代码。在其中,我尝试读取特征的值,并使用按钮简单地切换其状态。
答案 0 :(得分:7)
BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic characteristic)
此功能正在使用蓝牙的特征值更新您的BluetoothGattCharacteristic对象(在您的Android设备上)。
BluetoothGattCharacteristic.getValue()
此功能只是BluetoothGattCharacteristic对象的getter功能。 Android和蓝牙设备之间没有任何交易。