私はBLEデバイスを見つけて設定することができるアプリを開発しています。私は標準のAndroid BLE APIを使用していますが、最近私はいくつかの奇妙な問題に遭遇しました。AndroidはBLEデバイスの検索を停止します:onClientRegistered() - status = 133 clientIf = 0
私のアプリをオンにすると、BLEスキャンは正常に機能します。
mBluetoothAdapter.startLeScan(mLeScanCallback); // for Kitkat and below
と、私は次のメッセージを取得していますLogcat(私はこれが、この問題のために重要であると思います)で
mBluetoothAdapter.getBluetoothLeScanner().startScan(mScanCallback); // for Lollipop and above
:私のアプリのIで
D/BluetoothAdapter: onClientRegistered() - status=0 clientIf=5
を私が使用してスキャンしています私のBLEデバイス(例えば、バッテリー状態)から特定の特性を読み取ることもできます。別の断片でこの特性を読み取るデバイスに接続します。
mBluetoothManager = (BluetoothManager) mContext.getSystemService(Context.BLUETOOTH_SERVICE);
mBluetoothAdapter = mBluetoothManager.getAdapter();
mBluetoothDevice = mBluetoothAdapter.getRemoteDevice(mMacAddress);
mBluetoothGatt = mBluetoothDevice.connectGatt(mContext, false, mGattCallback);
特性が正しく読み込まれています。私はまた、切断および閉じるガットonCharacteristicRead
コールバックで:
mBluetoothGatt.disconnect();
mBluetoothGatt.close();
たびI特性(これは同じデバイスであるか否かに関係なく)clientIf
値増加を読み取る断片を開きます。私はLogCatで見ることができます:clientIf
値は10 BLEスキャンは任意のデバイスを見つけるに停止等しくなるまで
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=6
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=7
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=8
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=9
D/BluetoothGatt: onClientRegistered() - status=0 clientIf=10
すべてが正常に動作します、私は、任意の特性などを読むために私のデバイスのいずれかに接続し、LogCatすることはできません無限にこれらのメッセージが表示されます。それを修正するために
D/BluetoothGatt: unregisterApp() - mClientIf=0
D/BluetoothGatt: onClientRegistered() - status=133 clientIf=0
唯一の方法は、アプリを殺すし、それを再起動するか、手動でそれをオフにするとにより、Bluetoothを再起動することです。 Xperia Z1(Android KitKat)やGalaxy S4(Android Lollipop)などの特定のデバイスでのみこの問題が発生しました。私はこの問題をXperia Z3コンパクトAndroid Marshmallowを実行して再現できませんでした...
私はそれについて何かできることはありますか?私はすでに、UIスレッドからすべてのBLEメソッドを呼び出し、GATTを閉じる/切断するなど、複数の "ソリューション"を試しましたが、何も役立たないものです。どうすれば修正できますか?
私は同様の問題を持っていたし、私のための切断の間にはほとんど遅延を追加し、解決をスキャン問題も。ありがとう! – Tijn
私はあなたと同じ解決策を見つけました。詳細:https://github.com/googlesamples/android-BluetoothLeGatt/issues/44 –