BLE機器とAndroid端末の自動再接続

実現したいこと

前提:AndroidとOBD2はペアリングされた状態で、アプリはタスクkill状態(プロセスは完全には死んでいない状態)
たとえば、車に乗ったタイミングでOBD2とAndroid端末がアプリを介さずに接続を開始し、
(その接続をブロードキャストレシーバーで検知しているのだと思われる)
アプリによりサービスを開始する。
というアプリが世に存在するのですが、これはどのように実現されているのでしょうか。

通知が来ていないため、フォアグラウンドサービスを常に実行し続けているというわけではなさそうです。

OBD2の電源がONになった場合、Android端末と、OBD2が自動で接続されるようにするには、
OBD2側の設定に依存するのでしょうか。それとも
アプリを介した初回の接続フローで、自動で接続をするような接続の仕方ができるのでしょうか?

発生している問題・分からないこと

車に乗ったタイミングでOBD2とAndroid端末がアプリを介さずに接続を開始するようなアプリを作りたいのですが、方法がわかりません。

実現方法をご存知の方がいたらご教授いただきたいです。

よろしくお願いいたします!

該当のソースコード

特になし

試したこと・調べたこと

上記の詳細・結果

一度ペアリング済みのOBD2なので、アプリを介さなくても、
OSと自動で接続を開始してくれると思っていたのですが、
アプリをタスクkillしてしまうと、OBD2と再接続が行われませんでした。

補足

currentDevice.connectGatt(context, true, bluetoothGattCallback)

このように、autoConnectはtrueにして、自動再接続を促すようにしてあります。

コメントを投稿

0 コメント