スキップしてメイン コンテンツに移動

Android 6.0以降でBluetoothテザリングを常時有効にする。

Wi-Fi専用タブレットを持ち出すとき、低速でいいからネットに繋ぎたいことがある。スマホを取り出してテザリングを有効にしたらいいんだけど、週に複数回くらいの頻度でそれをするのは面倒。できる限り楽をしたいので、消費電力の少ないBluetoothテザリングを常時有効にしておきたい。

以前もそんなことをしてたな、と思いながら試したAndroid 5.xくらいの頃に使っていた手法ではうまくいかなかったけど、Bluetooth Tethering On Off というアプリを使うことで解決した。

現在のうちのモバイル環境はこんな感じ。

OnePlus 5T | Android 8.1
iPad Pro 12.9 Wi-Fi (2017) | iOS11.4
XPS 13 (9360) | Windows 10

iPad Proが大きくなった気がするけど、そのネタはおいおい。
以前はデータ通信用のSIMカードを複数所有していたし、各端末にSIMスロットがあったから困らなかった。現在は6GB/月のSIMカードが1枚、これをOnePlus 5Tで運用している。ちなみにOnePlus 5TはDSDS機なので、docomoの通話専用SIMもここに入っている。
厳密には0SIMも所有しているけど、AndroidケータイのSH-06Gに挿しっぱなしでTwitter専用機になっているのでここではカウントしない。SH-06GはWi-Fi非対応なので、他であまり使い道のない 低速なSIMカードを挿している方が使い勝手がいい。適材適所。

さて、OnePlus 5Tのデータ回線を使って、iPad ProやXPS 13でサクッと通信したい。常時有効にするとなると、Wi-Fiテザリングはバッテリー消費が気になるのでパス。そんなに速度を要求する使い方はしないので、今回はBluetoothテザリングを使う。

Androidで自動化といえばTasker
最近はいろいろと洗練されてるから脱獄もroot化もいらないという声を耳にする。Taskerも以前ほど活用される機会はないのかなと思うけれど、少なくとも自分は未だに使っている。
Android 5.xの頃は、Bluetoothテザリングを常時有効にするのにSecure Settingsというアプリを使っていた。Taskerのプラグイン扱いになるから扱いやすくて気に入っているけど、アプリの最終更新日が2015年なので、最近のOSではうまく動かないかもしれない。少なくとも自分の環境では思ったような挙動はしなかった。

結局、Bluetooth Tethering On Offという無料アプリを使って解決した。
これは、起動するとBTテザリングを有効にして自身を終了するというシンプルなアプリ。文字にすると奇妙だけれど、インストールして試してみると理解できると思う。
Android 6.0以降の端末でエラーになる問題に対応した というアプリ説明にあるとおり、Android 8.1の当環境でもバッチリ動作した。ちなみにBluetoothが無効になっているときにアプリを起動すると、丸ごと有効にしてくれる。BTテザリングが有効になっている状態で起動した場合は、BluetoothをオンにしたままBTテザリングだけ切ってくれる。

自分はスマホのBluetoothは常に有効にしているので、BluetoothがONになった時にBluetooth Tethering On Off 名前が長い を実行してくれるようにTaskerを組んだ。導入から10日ほど経った時点では、目に見えるほど大きなバッテリー消耗もなく、期待したとおりの動作をしている。
ちなみに、Wi-Fiテザリングの場合はAuto WiFi Tetheringあたりを使えばうまくいきそう。未検証。

現在のバージョンのAndroidでどうしても実現できないならモバイルルーターか型落ちのiPhoneを買ってインスタントホットスポットでも使おうかと思っていたけど、無事に解決した。勇み足を踏まなくてよかった。