При попытке прочитать значение характеристики Bluetooth с низким энергопотреблением GATT в Android API 18 я столкнулся с следующей дилеммой: каков правильный способ получить значение, сохраненное в характеристике? И на каком уровне стека должно произойти это действие?
При проведении моих собственных исследований я наткнулся на то, что я понимаю, на два возможных метода:
- BluetoothGatt.readCharacteristic(характеристика BluetoothGattCharacteristic)
-
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); }
Выше был исходный код, который привел меня к этой проблеме. В нем я пытаюсь прочитать значение признака и просто переключаю его состояние с помощью кнопки.