〜 Tasker を使った方法の完成版です 〜
楽天Link は「公式には Bluetooth に未対応」となっています。
「未対応」というのは、Bluetooth 機器側で受話/拒否応答/終話という操作ができない、という意味です。
つながってしまえば通話自体は Bluetooth 機器側でできます。
本記事は「未対応」の操作に代えて受話(自動応答)と終話ができるようにしたので、具体的な方法について記述します。
楽天Link で Bluetooth に対応させたのは、クルマ運転中のハンズフリーのためです。
受話を標準電話アプリにすれば素直に Bluetooth 対応できます。
ですがその場合の無料通話は発信の都度、楽天Link にログインする必要があります。
なので楽天Link はログインしっぱなしで、クルマ運転中だけをハンズフリーにしてみたのです。
運転中以外はスマホ操作で楽天Link での受話や発信、終話をしています。
本記事は Android スマホ向けの方法を記述しており、iOS 向けではありません、あしからず。
ここで記載の方法よって、楽天Link をログインしたままで Bluetooth 機器に対応させます。
楽天Link は、データ通信の不安定さなどにより標準電話アプリ呼出しになることがあります。
標準電話アプリ呼出しの場合は Bluetooth 機器側で操作が可能ですが、受話は自動着信化し、終話も楽天Link の場合と同じ操作でできるようにしており、操作上の混乱がないようにしています。
具体的な方法の準備
Tasker とそのプラグイン TouchTask を使用します。
また、NFC タグを終話イベントとして使います。
終話処理の自動化に際し NFC タグをスマホに触れてイベントを発生させます。
このイベントを契機に終話用のタスクを実行します。
拒否応答化も、NFC タグを活用して「応答用タグ」と「拒否用タグ」を用いてスマホにアテれば可能ですが、今回はそのような設定はしていません。
ーーーーー
Tasker 使用上の準備と留意事項
Tasker はプロファイルと呼ばれるトリガーを契機にタスクを実行する、という自動化ツールです。
構成要素にはほかにシーンと変数があります。
自動化ツールにはほかにも Macrodroid や Automate などがあり、前者は Tasker に似ています。
Automate フローチャート型の自動化ツールでわかり易いのが特長です。
IFTTT も自動化ツールの一種です。
ーーー
Tasker でプロファイルやタスクを構成中に特別な権限許可を求められることがあります。
この場合は Tasker.Permissions.app を使用して権限許可するか、adb コマンド(SDK Platform-tools)で許可します。
これらを使用する場合は [設定] → [開発者向けオプション] → [USBデバッグ:オン] にし、スマホと USB 接続して使います。
なお、このときに [開発者向けオプション] → [USBデバッグ(セキュリティ設定)] も併せてオンを求められることがありますので、これもオンにしておきます。
USB 設定は [ファイル転送] モードにしておきます。
例えば adb コマンドで、WRITE_SECURE_SETTINGS 権限を許可する場合は次のコマンドを実行します。
% adb devices
List of devices attached
1234abcd device
% adb shell pm grant net.dinglisch.android.taskerm ␣ android.permission.WRITE_SECURE_SETTINGS
%
※ adb devices は スマホの接続確認
"1234abcd" は接続されているスマホの識別記号
今回許可した権限は、
・DRAW_OVER_OTHER_APPS
・WRITE_SECURE_SETTINGS
・LONG-CLICK_VOLUME_BUTTONS
・APPLICATION_USAGE_STATS
・WRITE_SETTINGS
・ACCESS_HIDDEN_APIS
の 6つです。
やり方についての考え方
❏ 着信
Bluetooth 接続時は自動応答し、受話操作不要にする
自動応答後はハンズフリー通話が可能です
❏ 発信
標準電話アプリによる発信を楽天Link 発信に置き換える
Rakuten Linkサポーターまたは Premium Dialer を使う
❏ 終話
① Bluetooth ヘッドセットの場合、マルチファンクションボタンで
切ることが可能なヘッドセットがある
② カーナビなどの場合は NFC タグを利用して終話処理する
NFC タグを利用すれば応答/拒否応答を使い分けできるが、ここでは
触れない
普段はシャツの胸ポケットにスマホを入れて外出しますのでこのスマホ
に NFC タグをアテれば終話するようにした
まず、自動応答のためには、通知領域で応答を求められる場合と、楽天Link アプリ画面で求められる場合があります。
「応答」ボタン座標位置を Tasker タスクで自動タッチするようにします。
私は Mi 11 lite 5G を使用中ですが、この機種の画面は 横 (x) 1080 x 縦 (y) 2400 画素です。
前者の場合「応答」ボタンの x, y 座標は、733, 360 です。
ちなみに「拒否」ボタンの座標位置は 360, 360 です。
この座標位置を TouchTask で自動タッチし、指でタッチしたことと等価な処理をするのです。
後者の場合は次の画面で「応答」ボタンの座標位置は 825, 2030 です。
今回使っていませんが「拒否」ボタンの座標位置は 260, 2030 です。
座標位置 x, y は「開発者向けオプション」の中の [ポインタの位置:オン] でタッチ点の座標がわかります。
座標位置はなるべく「ボタンの中心点」を目指しましたが、厳密には「ボタンの中心点近く」です。
「ボタンの中心点近く」で、実態的に問題はありません。
Tasker でのプロファイル一覧
プロファイルはトリガーになる事象を定義します。
「楽天Link に呼び出しがあったら」とか「ディスプレイオーディオ・Carpuride にスマホが接続したら」とかです。
7つのプロファイルを用意しています(あとの 3つはテスト用です)。
① 楽天Link に呼出しがあった
→ 自動応答用のタスクを実行するように設定します
② Carpuride にスマホが接続した
→ ① のプロファイルを有効(オン)にするタスクを実行します
③ Carpuride からスマホが切断された
→ ① のプロファイルを無効(オフ)にするタスクを実行します
④ 終話処理(その1):音量ボタンが長押しされた
→ 楽天Link を終話するタスクを実行します
⑤ 終話処理(その2):NFC タグを検出した
→ 楽天Link を終話するタスクを実行します
⑥ 終話処理(その3):ヘッドセットの場合
マルチファンクションボタンの 2度押しで終話するタスクを実行します
ボタンの 2度押しで Tasker のダミーである「セカンドアプリ」が起動します
「セカンドアプリ」を起動させるイベントを判定しています
⑦ 通話中は画面点灯を維持
楽天Link アプリまたは標準電話アプリが起動中(通話中)は、終話
まで画面点灯を維持し、自動タッチで終話できるようにします
これをしないと、スリープタイム経過後、画面が消灯して、終話のた
めの自動タッチができなくなります
これら 2つのアプリ以外の場合はシステム設定のスリープタイムがきた
らスリープするのは変わりません
④ は ⑤ の代替です。
終話(通話切断)は、
1) 相手が切断(こちらも切断される)
2) ⑤ で切断
3) ④ はNFC タグ検出がうまく行かなかった場合の終話
というやり方になっています。
各タスクの内容
① 楽天Link に呼出しがあった場合に自動応答するためのタスク
1) 通知を 3秒間表示し、その後で通知を消す
これはスマートウォッチなどに楽天Link 着信通知を
表示し、その後消さないといつまでも通知が残るからです
2) 画面のアプリが「楽天Link」でない場合
通知領域で着信通知された応答ボタンを自動タッチします
3) 画面のアプリが「楽天Link」の場合
アプリ画面の応答ボタンを自動タッチします
4) 通話音量をレベル 8 に設定する
またメディア音量を最大にする
これはご自分の環境に合わせて設定ください
5) 一連のタスク処理を終了
② ディスプレイオーディオにスマホが接続された場合
プロファイル ① を有効にし、自動着信に備えます
併せて「位置情報」をオンにします
③ ディスプレイオーディオからスマホが切断された場合
プロファイル ① を無効にし、自動着信化をオフにします
併せて「位置情報」をオフにします
④ 終話処理
3種類の終話処理(イベント)を用意しました
音量ボタン長押し/NFC タグ/ヘッドセットボタンです
NFC タグは ID でタグを特定することができます
通話中のスマホ画面は楽天Link アプリの画面になっています
終話イベント発生時(通話切断)は画面の 📞 ボタンを自動タッチします
📞 ボタンの座標位置は 539, 2030 です
標準電話アプリの場合の 📞 ボタン座標は 539, 2080 です
両者の中間座標位置は x はどちらも同じ 539, y は両者の中間が 2055 で、
これを終話時の自動タッチ点にします
(楽天Link はボタン中心より少し上、標準電話アプリは中心より少
し下)
座標点 539, 2055 はどちらのアプリにも有効な座標点ですから、
終話処理操作を同じタスクで行なえます
2秒後にホームボタン ◎ を自動タッチしホームページに戻します
これはアプリ画面をホーム画面に戻すためです
ホームボタン ◎の座標位置は 539, 2330 です
⑤ 通話中は画面点灯維持
終話まで画面がスリープしないようにするためです
スリープまで 3時間にしています(楽天Link の連続通話は 3時間まで
らしい?)
連れ合いと違い、そんなに長くは電話しません(笑)
以上がディスプレイオーディオに Android Auto 接続したときの楽天Link でのハンズフリーのやり方です。
「自動タッチ」タスクは TouchTask という Tasker プラグイン を使います。
この自動化によって Bluetooth に対応していない楽天Link をハンズフリー化できます。
発信は「OK, Google 〇〇に電話」とすると標準電話アプリから発信しようとします。
そこで、これを Rakuten Linkサポーターや Premium Dialer を使って楽天Link 発信に置き代えますと無料通話ができます。
まれにデータ通信が不安定などで楽天Link 着信ではなく、標準電話アプリへの着信になることがあります。
この場合は Bluetooth 対応できますが、混乱を避けるため標準電話アプリ着信も「自動着信」にします。
これも Tasker で自動着信化できますが、標準電話アプリの設定で行えます。
いまは Bluetooth 接続時に「自動着信」する設定をしています。
また 終話処理を同じ操作(音量ボタン長押し/ヘッドセットボタン/NFC タグ)でできますので、混乱がありません。
自動着信化は標準電話アプリを開き、右上の [︙] をタッチします。
[設定] → [通話アカウント] → [自動応答] → [自動応答:オン/自動遅延応答:3秒]/[常時]
と設定すると、着信時は 3秒後に自動応答になります。
自動応答遅延時間は 0, 3, 5, 10秒 が設定できます。
3 〜 5秒 がいいでしょう。
スマホによって少し違うかも知れません。
実際 UMIDIGI s5 Pro の場合はこの設定はできません。
設定でできない場合は Tasker で少し手を加えればできます。
今回は、Carpuride W901 というディスプレイオーディオでハンズフリー化しました。
KENWOOD の Bluetooth 接続可能なカーナビでもハンズフリーを確認できています。
ディスプレイオーディオは地図情報が最新のものを使え、Android Auto(または CarPlay)で楽曲再生アプリを使ったり、と便利です。
Android Auto(または CarPlay)でないナビの場合、地図が年々古くなりますし、意外とナビ機能が使いづらいものです。
クルマメーカーの純正ナビもディスプレイオーディオ化の流れにあるようです。