2017-10-09 26 views
0


私はBLEを介してTexasのCC2650センサータグに接続するアプリを開発しようとしています。
GATTプロトコルを使用してタグに接続できます。接続したときに接続が失敗した場合、復元されないという問題があります。しかし、私はデバイスに電話を再接続し、私は自動的に電話に再接続する手順(タグをオフに)を繰り返します。
最初の動作と再接続後の動作の違いを理解できません...

アレックス奇妙なBLEの振る舞いAndroid

答えて

0

Androidは文書化してください。とにかく、ここに説明があります:

autoConnectをfalseに設定してconnectGatt(https://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback))を呼び出すと、デバイスにワンショット接続されます。切断すると、再接続しません。

代わりにBluetoothGattオブジェクトの.connect()メソッドを使用して接続すると、現在のBluetoothGattオブジェクトを閉じてからconnectGattとautoConnectパラメータをtrueに設定して再度接続します。

autoConnectパラメータがtrueに設定されている場合は、デバイスを永続的に接続したい、つまり何らかの理由で接続が切断されても、Androidは常にデバイスに再接続しようとします。

ここでautoConnectの相違点リストを確認することができます:https://stackoverflow.com/a/40187086/556495

+0

ありがとうございました。簡単で正確な説明。 –