Вопрос

При попытке прочитать значение 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.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top