以前安さにつられて楽天モバイルを契約して使いもしないRAKUTEN HANDを手に入れました。(過去記事はこちらから)
そのスマホを今カーナビに使ってます。
ですが、、、車に乗るたびにナビアプリ起動してBluetooth繋げて音楽アプリ流してって作業が
あ~~~糞めんどくせぇなぁ!!!!!
とイラついていたので、androidの自動化アプリ「Tasker」で自動化しました。
その内容を記事にしましたので、何かの参考になれば幸いです。
この記事を読むとわかること、わからないこと
前提は非ルート化です。やりたいことは以下です。
・エンジン始動でモバイルデータ通信、GPS、BluetoothをONしてカーナビ起動。
・Bluetoothがカーオーディオを繋がったらamazon prime musicを自動再生
・エンジンOFFでモバイルデータ通信、GPS、BluetoothをOFFしてアプリを落とす。電池の消耗を減らすために、バッテリーセーブモードに切り替わる。
・電池切れで電源がOFFした場合はエンジン始動(USB充電開始)でスマホが自動起動
できたことは以下です。
・エンジン始動でGPS、BluetoothがONしてカーナビ起動。(バッテリーセーブモード解除もする。)
・Bluetoothがカーオーディオを繋がったらamazon prime musicを自動再生
・エンジンOFFでGPS、BluetoothをOFFして電池の消耗を減らすために、バッテリーセーバーモードに切り替わる。
できていないことは以下です。
・エンジン始動でモバイルデータ通信をONする。
・エンジンOFFでモバイルデータ通信をOFFする。
・エンジンOFFでアプリを落とす。
・電池切れで電源がOFFした場合はエンジン始動(USB充電開始)でスマホが自動起動
以下記事では「できたこと」の具体的なやり方を解説します。
準備するもの
必要なものは以下になります。
スマホ
アプリ:tasker(380円)、ナビアプリ(yahooナビ)、音楽アプリ(amazon music)
PC
android studio
PCとandroid sudioはtaskerにセキュリティ書き込み権限を与えるのに使用します。(ルート化ではありません。)
[tasker前の事前準備]WRITE_SECURE_SETTINGS権限を付与する
「WRITE_SECURE_SETTINGS」がないとGPSがON/OFF出来ません。↓こんな感じで。



なので権限を付与します。権限の付与はPCでやります。
まずPCにandroid stadioをインストールします。

次にコマンドプロンプトを起動します。(windows スタートでcmdと打ちましょう。)
adbコマンドが使える状態にまでもっていきましょう。
私はadbコマンドが使えなくて困りました。以下記事を参考に解決しました。

つづいてandroidスマホをデバックモードでPCに接続します。デバックモードはスマホをデベロッパーモードにしてデバックモードONにします。細かいやり方はググりましょう。腐るほど記事が出てきます。
私はUSB接続したandroidスマホがPCで認識できなくて困りましたが、ドライバーをインストールしたら解決しました。

接続したらコマンドプロンプトに「adb devices」と打って、デバイスが確認出来たら、

「adb shell pm grant net.dinglisch.android.taskerm android.permission.WRITE_SECURE_SETTINGS」と打ちます。

はい。これで終わりです。
エンジン始動でGPS、BluetoothがONしてカーナビ起動。(バッテリーセーブモード解除もする。)
スマホはUSB充電コードつけっぱなしで使うので、エンジン始動と同時にUSB充電が開始されます。
なのでUSB充電開始をトリガーとして各操作をするようにします。
まずプロファイルを作成します。

①右下の「+」をタップし新しいプロファイルを作成します。
状態をタップします。

②電源をタップ。

③もっかい電源をタップ。

④なんでもをタップ。

⑤USB充電をタップ。
これでUSB充電開始を検出することが出来るようになりました。
続いて各タスクを作成します。
GPSをONする。

①タスク画面の「+」から新しいタスクを作成します。
適当に名前を入れて「レ」をタップします。

②場所をタップ。

③位置情報モードをタップ。

④端末のみをタップしました。高精度でもいいかと思います。

こんな感じになりました。
はい。これで終わりです。続いてBLUETOOTHをONするアクションを加えます。
BLUETOOTHをONする。

①タスク編集画面で「+」をタップしてアクションを追加します。

②ネットをタップ。

③Bluetoothをタップ。

④オン

こんな感じですね。
カーナビアプリを起動する。

①「+」をタップしてアクションを追加。アプリをタップ。

②アプリ一覧からカーナビアプリを選択します。

こんな感じ。
バッテリーセーブ状態を解除する。

①「+」をタップしてアクションを追加。システムをタップ。

②電力モードをタップ。

③通常を選択。
動作確認

最初に作ったプロファイルとタスクを紐づけて、充電ケーブルを抜き差しして確認してみましょう。
Bluetoothがカーオーディオを繋がったらamazon prime musicを自動再生
まずBluetoothが繋がったときをトリガーとするプロファイルを作成します。
プロファイルの作成

①右下の「+」をタップし新しいプロファイルを作成します。
状態->ネットをタップします。

②接続中のBluetoothをタップ。

③住所(アドレス)を記入します。(カーオーディオに繋げたときのアドレスをメモっておきましょう。)名前だと安定して動作しなかったです。
amazon prime musicアプリを起動する。
カーナビアプリを起動するのと同様の手順ですので、省略します。
10秒待つ。
アプリの起動時間を待ったほうがいいので、10秒待ちます。(時間は適当です。)

①アクション追加からタスクをタップ。

②待機をタップ。

③10秒にします。
音量を調整する。
ちょうどいい音量に設定しましょう。

①アクション追加から音声をタップ

②メディア音量をタップ

③10に設定。
音楽を再生
音声を再生します。

①アクション追加からメディアをタップ

②メディア操作をタップ

③再生[疑似的にのみ]をタップ
エンジンOFFでGPS、BluetoothをOFFして電池の消耗を減らすために、バッテリーセーバーモードに切り替わる。
エンジン始動でGPS、BluetoothがONしてカーナビ起動。(バッテリーセーブモード解除もする。)
の逆操作なので、省略します。
「できないこと」がなぜできないか?
エンジン始動でモバイルデータ通信をONする。エンジンOFFでモバイルデータ通信をOFFする。
「root権限/write secure setting権限がいる。」と怒られます。いやいやwrite secure settingあげてるだろボケ。と思ったのですが、何か上手くいかなかったです。

エンジンOFFでアプリを落とす。
これもね怒られます。「アプリの強制終了:Kill App」を使おうとするとADB Wifiがどうのこうの言われます。調べるのめんどくなってやめました。

電池切れで電源がOFFした場合はエンジン始動(USB充電開始)でスマホが自動起動
うーん。ハードウェア的な話になりますよね。やりたいけどようわからんからやめました。
長期放置して電池ぎれしたときがめんどくさいんですね。。。
終わり!!