Question

Je suis en train d'utiliser Android Bluetooth Low Energy pour communiquer avec un c? BLE de l'appareil.La première fois que je connecte, tout fonctionne très bien (connexion du GATT de fonctionnement du serveur, tous les services et les caractéristiques sont découverts, etc.) Mais, si je me déconnecte et essayer de re-connecter, de se connecter au GATT de serveur, mais ne sera pas en mesure de découvrir les services.J'ai de tuer l'application et de la relancer, et parfois même qui ne fonctionne pas.

C'est le code que j'utilise pour vous déconnecter de l'appareil:

public void close(View view) {
    if (mBluetoothGatt == null) {
        return;
    }
    mBluetoothGatt.close();
    mBluetoothGatt = null;
}

Est-il autre chose que je dois faire lors de la déconnexion?Il semble y avoir une ressource qui est toujours connecté qui empêche la découverte de services lorsque j'essaie de le reconnecter.

Était-ce utile?

La solution

Il me semble avoir trouvé la solution:vous avez besoin d'appeler à la fois BluetoothGatt.disconnect() ET BluetoothGatt.close().

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