Question

En essayant de lire la valeur d'une caractéristique de GATT Bluetooth à basse énergie Bluetooth dans l'API Android 18, j'ai rencontré le dilemme suivant: quel est le moyen approprié de récupérer la valeur stockée dans une caractéristique?Et à quel niveau de la pile si cette action a lieu?

Dans la conduite de mes propres recherches, je suis tombé sur ce que je crois comprendre sont deux méthodes possibles:

  • Bluetoothgatt .ReadCharacteristic (Caractéristiques BluetoothGattCharacteristic)
  • BluetoothGattCharacteristic .gevalue ()

    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);
    }
    

ci-dessus est le code d'origine qui m'a conduit à ce problème.En cela, j'essaie de lire la valeur d'une caractéristique et de basculer simplement son état à l'aide d'un bouton.

Était-ce utile?

La solution

BluetoothGatt.readCharacteristic(BluetoothGattCharacteristic characteristic)

Cette fonction met à jour votre objet BluetoothGattCharacteristic (sur votre appareil Android) à l'aide de la valeur caractéristique du Bluetooth.

BluetoothGattCharacteristic.getValue()

Cette fonction n'est qu'une fonction getter de l'objet BluetoothGattCharacteristic.Il n'y a aucune transaction entre Android et le périphérique Bluetooth.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top