Bluetooth PAN使用時に、特定のアプリで自動でwifi テザリングに切り替える

Bluetooth PANは低消費電力で便利ですが、如何せん遅い。最大速度1Mbps。動画どころが一部のニュースの読み込みすら遅い。

 

遅いときだけwifiに切り替えたらいいんじゃない?

 

と言うことで、Automateで実装してみた。

 

 

関連記事


Joinを利用してフルAndroidスマウォから親スマホの電話を発信させる、その2 - diablo3cs’s diary

 


アイデア: 電波の悪い場所で自動的に親スマホのwifiテザリングに切り替える - diablo3cs’s diary

 

Joinを利用して、フルAndroidスマートウォッチから親スマホを操作する例。今回は二番目の記事で作成した親スマホのHotspotをオンオフする機能を流用します。追加で弄るのはフルAndroidスマウォ側だけ。

 

 

やること

  • 時計側で特定のアプリ、YouTubeニコニコ動画やらを開いた場合、wifiをオンにする。
  • 同時に通知notificationを発行してJoin経由で親スマホのHotspotをオンにする。
  • その後、Bluetooth PANを一時的にオフにする。BT PANが有効の場合、なんでか接続がwifiより優先されるためです。BT PAN有効下ではテザリングに接続出来ない。
  • 他のアプリに変わったら元に戻す。

 

 

使うもの

フルAndroidスマートウォッチ側

  • Automate
  • Join

 

スマホ

  • Join
  • Tasker

 

今回はAutomate部分のみ書きます。その他については上の記事を参照ください。

 

 

作ったもの


Automate for Android ⋅ Auto_wifi_connect_by_app_V0.3

 


f:id:diablo3cs:20210315191726j:image

 

  1. 実行するとforegroundのアプリが変化するのを待つ。
  2. 特定のアプリ(今回はYouTubeニコニコ動画SmartNewsNHKニュース)がforegroundに来ていれば、wifiをオンにして親スマホにもHotspotがオンになる通知を出す。そしてBT PANを切る。
  3. 他のアプリがforegroundに来た場合、wifiをオフにして親スマホのHotspotオフ、BT PANを再接続する。

 

問題点

なんかAmazon Prime Videoは特殊な実装をしているらしく、foregroundで検出が出来なかった。なんでや?

 

BT PANからwifiへの切り替えには少し時間が掛かり、たまに親スマホ側で失敗してることがある。うーん。まだまだ習作や。