2016-10-21 12 views
0

:私は携帯電話でBLEを接続する接続および切断は、例えばBluetooth Low Energyでのスキャン時間を短縮できますか?ブルートゥース低エネルギー(BLE)、接続状態の

@Override 
public void onConnectionStateChange(BluetoothGatt gatt, int status, int newState) {} 

関数で行われる、上記の関数が呼び出され、接続を返すされ状態。しかし、切断状態であるという問題が1つ見つかりました。電話とBLEが接続されているとき、私はBLEをオフにします、上記の機能はその時呼び出されていません。私は切断状態を知るために約5-6秒待つ必要があります。私はそれが走査時間からだと思う。遅延時間を短縮することは可能ですか?それは、私がBLEと電話が切れるとすぐに切断状態を知りたいということです。ありがとうございました

答えて

0

あなたはアンドロイドデバイスのBluetoothをオフにすることを意味しますか?もしそうなら、あなたはBluetoothの状態変化(https://stackoverflow.com/a/9694138/556495)を聞くことができます。それとも、リモート側から切断することを意味しますか?もしそうなら、切断状態をかなり速く変更する必要があります。リモートエンドの無線をシャットダウンすると、指定された監視のタイムアウト後に切断状態が変化します。

+0

ありがとうございました。私は、携帯電話ではなく、BLEデバイスをオフにすることを意味します。私のBLEデバイスには電源を切るボタンがあります。私がそれをオフにすると、私の電話機に接続された状態がまだ表示され、5〜10秒後に切断状態に変わります。私は時間を短縮したい – Jame

+0

切断時間を短縮するために電源を切るのではなく、優雅な切断を試みるべきです。そうしないと、電話機はタイムアウトするまでBLEペリフェラルからの応答を取得しようとし続けます。 BLEペリフェラルからConnection Parameter Update Requestを送信することにより、監視のタイムアウトを制御できます。 – Emil

+0

サンプルのBLEアプリケーションを実行しようとしましたか。次に、BLEを電話機に接続します。接続後、BLEデバイスがオフになり、接続状態が表示されます。更新に約5秒かかります。私はその時間を短縮したい。私はあなたの解決策を理解していない – Jame

関連する問題