質問

BLEデバイスと通信するためにAndroidのBluetooth低エネルギーを使用しようとしています。最初に接続しても、すべてがうまく動作します(Gatt Serverの作品への接続、すべてのサービスと特性が発見されます。)が、切断して再接続しようとすると、GATTサーバーに接続されますが、そうではありませんサービスを発見することができます。私はアプリを殺してそれを再起動しなければならない、そして時にはそれでもうまくいかない。

これは私がデバイスから切断するために使用しているコードです:

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

切断時に私がする必要がある他のものはありますか?再接続して再接続したときにサービスの発見を防ぐためのリソースがいくつかあるようです。

役に立ちましたか?

解決

解決策を見つけたようです.BluetoothGatt.disconnect()BluetoothGatt.close()の両方を呼び出す必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top