Domanda

Sto cercando di usare l'energia a bassa energia Bluetooth Android per comunicare con un dispositivo BLE.La prima volta che collego, tutto funziona bene (il collegamento a GATL Server funziona, tutti i servizi e le caratteristiche vengono scoperti, ecc.) Ma, se scollegare e provare a re-connettere, si connetterà al server GATT, ma non saràin grado di scoprire i servizi.Devo uccidere l'app e riavviarlo, e a volte anche questo non funziona.

Questo è il codice che sto usando per disconnettersi dal dispositivo:

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

C'è qualcos'altro che devo fare quando si disconnette?Sembra esserci una risorsa che è ancora collegata che impedisce la scoperta dei servizi quando provo e riconnetti.

È stato utile?

Soluzione

Mi sembra di aver trovato la soluzione: è necessario chiamare sia BluetoothGatt.disconnect() e BluetoothGatt.close().

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top