私はIONIC 2のためのアプリを開発しています。私はBLEデバイスが範囲内にあるときにそれに自動的に接続する必要があります。場合は、私のアプリがバックグラウンドかフォアグラウンドのどちらかであるかどうかです。私はBLEデバイスを自動的に接続したいと思っています。また、切断してデバイスに連続して検索し、これを行う方法はありますか?私はこれを参照しました:https://github.com/don/cordova-plugin-ble-central
。また、私はBLE接続の検出について質問しました:How to register for BLE state notification in IONIC 2。しかし、それに関連する解決策はありません。しかし、私は何も見つけられませんでした。これを行う方法を提案してください。私は、イオスとアンドロイドの両方で作業する必要があるソリューションをしたい。範囲内でBLEデバイスを自動接続する方法は?
答えて
私自身はアンドロイド部分についてしか知りません。 私はこれがうまくいかないと思います。これは、Bluetoothが常にオンになっていなければならず、デバイスが範囲内にある場合、デバイスは常にデバイスの周りを見回す必要があるからです。
Alarm Manager
またはJob Scheduler
(アプリがフォアグラウンドでもバックグラウンドでも再起動してもかまいません)のようにいくつかの方法がありますが、モバイルが生き続ける(スクリーンやハードウェア)およびドレイン電池。
する場合は、検索間隔をできるだけ小さく設定します。 以下の記事やページなどを使用して詳細を確認できます。
アンドロイド、次のプロパティを持つ実行時間の長い接続を設定する正しい方法で:
- デバイスが範囲内にない場合、それは自動的に接続する必要があります最終的に範囲内に入る(タイムアウトなし)。
- 何らかの理由でデバイスが切断されると、Androidは自動的に再接続する必要があります。
自動接続パラメータがtrueに設定されているhttps://developer.android.com/reference/android/bluetooth/BluetoothDevice.html#connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback)
を使用することです。 falseに設定されている場合は、30秒のタイムアウトが発生し、デバイスの切断時に自動的に再接続されません。
あなたが残念なことにハードコードautoConnectをfalseに参照するプラグインです。したがって、プラグインを変更してautoConnectがtrueに設定されるようにするか、代わりに永遠にスキャンして、興味のあるデバイスに接続するスキャンを設定することができます。しかし、そのcordovaプラグインは、Wi-Fi帯域幅を占有しないために、通常は時間の5~10%をスキャンするよう設定する最大スキャン間隔(時間の100%をスキャンすることを意味する)を使用するだけでなく、バッテリーを節約する。 ..私が言うことは、cordovaプラグインは、あなたが接続するのに時間がかかるかもしれない長い実行中のバックグラウンド接続を持つ目的のために作られていないようです。
アプリがバックグラウンドで強制終了されないようにするには、BLEデバイスに接続する同じプロセス内のどこかで "Foreground Service"(https://developer.android.com/guide/components/services.html#Foreground)を実行する必要があります。
- 1. iOS:範囲内でBluetooth BLE接続を自動的に再確立
- 2. iOSアプリケーションのBLEデバイスへの自動接続
- 3. 範囲内にあるとペアリングされたBluetoothデバイスに自動的に接続できますか?
- 4. 2台のBLEデバイスを接続する
- 5. GATT接続後にBLEデバイスとペアリングする方法
- 6. BLEデバイスに接続した後のバッテリーレベルの取得方法は?
- 7. Android:Bluetooth LEデバイスが範囲内に入って広告を開始すると自動的にBluetooth LEデバイスに接続できますか?
- 8. 手動でスキャナーの代わりに自動的にBLEデバイスを接続してAndroidアプリケーションにデータを取得する方法(既知のデバイス名とUUID)
- 9. iOS上のBLE接続デバイスとは何ですか?
- 10. Android:BLEデバイスの自動再接続
- 11. Android 4.4:Bluetooth低エネルギー; BLEデバイスをスキャンせずに接続する
- 12. BLEデバイスはスキャンしていないときに広告パケットを読み取りますか? (自動接続)
- 13. USBデバイスをプログラムで接続して再接続する方法
- 14. スプライトを別の「範囲内」に続ける方法
- 15. Windows 10 - Bluetoothデバイスが範囲内にあることを検出する方法
- 16. BluetoothGatt.disconnect()の後にBLEデバイスに再接続できません
- 17. は、随時BLE接続
- 18. Ble多重接続
- 19. BLE接続中止
- 20. ジョイスティックで一定の範囲内でスプライトを移動する方法は?
- 21. MAC iosを使用してBLEデバイスに接続
- 22. VBAでループ内の範囲を拡大する方法は?
- 23. AndroidでWIFI自動接続を無効にする方法
- 24. mysqlコネクタで自動接続オプションを設定する方法C++
- 25. AndroidでWi-Fiの自動接続を許可する方法
- 26. iOSゲームキットフレームワークを使用して2つのデバイスを接続できる範囲(距離)はどれですか
- 27. 接続の中断後にOracle接続プールを自動再接続する方法はありますか。
- 28. カラーバーの範囲を手動で設定する方法は?