Bonjour

Je suis bloqué depuis plusieurs semaines sur une question à laquelle je ne trouve pas de réponse.
Je suis en train de faire une application pour communiquer avec un module BluetoothLE .
Avec tous les exemples disponibles sur le net, j'ai réussi à me connecter depuis ma tablette à mon module, créer une liste et afficher tous les services dans cette liste.
Lorsque l'on sélectionne un de ces services, on à alors accès aux divers données ( niveau batterie ,... ).

Maintenant, connaissant tous les UUID et SERVICE utiles, je voudrais automatiser la chose et ne pas avoir à sélectionner sur la tablette dans la liste les données.
La première méthode que j'ai utilisée, et de venir automatiquement chercher dans ma liste les données voulus.
Cette méthode fonctionne mais elle ne me paraît pas très propre.
Donc je voudrais directement mettre la valeur de mon Service et de mon UUID dans ma charecteristic mais je n'y parvient pas.

Pour essayer , j'ai crée un bouton qui lance la récupération des données avec un UUID précis.
Mais à chaque fois que j'appuie sur le bouton , l'application plante.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
 
 
    private BluetoothGatt mBluetoothGatt;
 
    private static final UUID UUID_SERVICE_Baterie = UUID.fromString("0000180f-0000-1000-8000-00805f9b34fb");
 
    private static final UUID UUID_Batterie = UUID.fromString("00002a19-0000-1000-8000-00805f9b34fb");
 
    toggle.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if (isChecked) {
 
                    final BluetoothGattCharacteristic characteristic ;
                    characteristic = mBluetoothGatt.getService(UUID_SERVICE_Baterie).getCharacteristic( UUID_Batterie);
                    getBleService().getBleManager().readCharacteristic(characteristic);
 
 
                } else {
                    // The toggle is disabled
                }
            }
        });

Auriez vous une idée pour qu'à partir d'un UUID et du SERVICE je puisse lancer une lecture de données ?


Merci