Android Bluetooth Le: non scoprendo i servizi dopo il collegamento
-
21-12-2019 - |
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.
Soluzione
Mi sembra di aver trovato la soluzione: è necessario chiamare sia BluetoothGatt.disconnect()
e BluetoothGatt.close()
.