Какой правильный метод чтения характеристики GATT в Android?
-
21-12-2019 - |
Вопрос
При попытке прочитать значение Bluetooth-карданной гатты с низкой энергией в Android API 18, я наткнулся на следующую дилемму: какой правильный способ получить значение, хранящуюся в характеристике?И, на каком уровне стека должен произойти это действие?
При проведении моих собственных исследований я наткнулся на то, что я понимаю, два возможных метода:
- .
- bluetoothgatt .readchatcharistical (Bluetoothgatchatcharicalized Характеристика)
-
bluetoothgatchatcharicalies .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); }
выше - исходный код, который привел меня к этому вопросу.В нем я пытаюсь прочитать значение характеристики и просто переключить его состояние с помощью кнопки.
Решение
BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic characteristic)
.
Эта функция обновляет ваш Bluetoothgatchatcharizate Editor (на вашем устройстве Android) с использованием характерного значения из Bluetooth.
BluetoothGattCharacteristic.getValue()
.
Эта функция - это просто функция Getter в Bluetoothgatchatcharized Object.Нет никакой транзакции между Android и устройством Bluetooth.