Je développe une application Android qui devrait souscrire à plusieurs caractéristiques BLE.Comment s'abonner à plusieurs caractéristiques BluetoothLE avec Android
Mais quoi que je fasse, je ne reçois que les valeurs mises à jour d'une caractéristique.
Voici le code:
BluetoothGattCharacteristic characteristicVel = gatt.getService(BleDefinedUUIDs.Service.KOMMMODUL_SERVICE).getCharacteristic(BleDefinedUUIDs.Characteristic.VELOCITY);
gatt.setCharacteristicNotification(characteristicVel, true);
BluetoothGattDescriptor descriptorVel = characteristicVel.getDescriptor(
BleDefinedUUIDs.Descriptor.CHAR_CLIENT_CONFIG);
descriptorVel.setValue(BleDefinedUUIDs.Descriptor.ENABLE_NOTIFICATION_VALUE);
gatt.writeDescriptor(descriptorVel);
BluetoothGattCharacteristic characteristicAcc = gatt.getService(BleDefinedUUIDs.Service.KOMMMODUL_SERVICE).getCharacteristic(BleDefinedUUIDs.Characteristic.ACCELERATION);
gatt.setCharacteristicNotification(characteristicAcc, true);
BluetoothGattDescriptor descriptorAcc = characteristicAcc.getDescriptor(
BleDefinedUUIDs.Descriptor.CHAR_CLIENT_CONFIG);
descriptorAcc.setValue(BleDefinedUUIDs.Descriptor.ENABLE_NOTIFICATION_VALUE);
gatt.writeDescriptor(descriptorAcc);
Tout ce que je fais je reçois que les données de vitesse. Si je change l'ordre des deux blocs, je n'ai que l'accélération mais pas plus de données de vitesse.
Que dois-je faire afin de souscrire à plusieurs caractéristiques à la fois?
Merci à l'avance
Reto
Pourriez-vous essayer d'attendre le rappel onDescriptorWrote du premier bloc avant d'essayer de régler le second? – Zomb
C'est un bon indice, en fait, il a résolu mon problème. Merci en effet! – retokiefer
Je vais l'ajouter comme réponse pour que d'autres personnes puissent le trouver! – Zomb