Google Mapなど位置情報を使うアプリでは、GPS機能を有効にする必要があります。
ただGPSはバックグラウンドで動き続けるためバッテリー消耗も激しく、電池持ちを改善するには可能な限りオフにしておくべき機能です。
とはいえ、アプリごとGPSオン / オフを手動操作で切り替えるのは面倒ですよね。
そこで本記事では、特定アプリ以外ではAndroidのGPS機能を自動で無効にする方法を紹介します。
具体的にはAndroid向け自動化アプリ「MacroDroid」を使って、特定条件下で起動するマクロ(タスクの自動化)設定をします。
photo by Pixabay
AndroidでGPSを自動的に無効化する方法
位置情報を使うアプリ上でGPSをオンにすると、ステータスバーにアイコンが表示され、GPSのオン / オフはクイック設定上で可能です。
ただ、位置情報を使うアプリを終了してもGPS機能は自動でオフとならないため、もしバッテリー消耗を節約する目的で、都度手動でオン / オフを切り替えているなら大変面倒です。
そこで今回は、「位置情報を使うアプリの起動」を検知して、AndroidのGPS機能を自動で切り替える設定を「MacroDroid」で行います。
手順①:自動化アプリを入手する
まず、Androidに自動化アプリ「MacroDroid」をインストールします。
本アプリの基本情報や使い方については、関連記事【MacroDroid – Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ】で解説しています。
さらに今回は「位置情報モードを変更」というAndroidシステム中枢に関わる高度な設定を行うため、追加で「ADB hack済み」条件を満たす必要があります。
具体的にはパソコンでadbコマンドの環境を用意した上、Androidへ下記コマンドを流します。
adb shell pm grant com.arlosoft.macrodroid android.permission.WRITE_SECURE_SETTINGS
adb shell pm grant com.arlosoft.macrodroid android.permission.CHANGE_CONFIGURATION
内容が複雑なので、詳細は関連記事【MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう】で解説しています。
以上の準備ができたら、MacroDroidを起動して「マクロの追加」へ進みます。
大まかなマクロ作成の流れを整理すると、今回は下記2種類のマクロを設定し、同時に動かします。
【マクロ①】
- トリガー:アプリの起動 / 終了(Googleマップを開いたら)
- アクション:位置情報モード設定(GPSをオンにする)
- 条件:任意(設定しなくてもOK)
【マクロ②】
- トリガー:アプリの起動 / 終了(Googleマップを閉じたら)
- アクション:位置情報モード設定(GPSをオフにする)
- 条件:任意(設定しなくてもOK)
さっそく設定してみましょう。
手順②:トリガーを設定する【マクロ①】
まず、1つ目のマクロ(Googleマップを開いたらGPSをオンにする)についてトリガーを設定します。
トリガー候補一覧より「アプリケーション」→「アプリの起動/終了」と選び、
「アプリの起動時」より対象アプリを選びます。
ここで初回のみ「アクセシビリティ設定」が求められるので、画面に従って「ユーザー補助」設定にてMacroDroidを選び、
権限を有効にします。
以上で「アプリの起動時:Googleマップ」のトリガー設定ができました。
画面を右にスワイプし、「アクション」画面へ移ります。
手順③:アクションを設定する【マクロ①】
続いて、1つ目のマクロ(Googleマップを開いたらGPSをオンにする)についてアクションを設定します。
アクション候補一覧より「Location」→「位置情報モードを変更」と進み、
「高精度」にチェックを入れます。
以上で「GPSをオンにする」のアクション設定ができました。
画面を右にスワイプし、「条件」画面へ移ります。
手順④:条件を設定する(任意)【マクロ①】
そして、1つ目のマクロ(Googleマップを開いたらGPSをオンにする)について条件を設定します。
「条件」は任意なので設定しなくてもマクロ作成は完成できますが、「トリガー」とは別の前提条件を追加したい場合に設定します。
例えば「充電中はGPSのオン / オフ切り替えをしない」としたい場合なら、条件候補一覧より「バッテリー/電源」→「電源の接続」と選び、
「電源が接続されていない」にチェックを入れればOKです。
任意設定なので本例では「条件」は何も設定せず、としました。
右下の「✓チェック」アイコンをタップします。
手順⑤:マクロ名称を決めて完了!【マクロ①】
最後にマクロ①の名前を決めます。この後もう1つマクロを作成するため、区別しやすい名称にすると良いでしょう(後から名前の変更はできます)。
作成したマクロはアプリトップ画面左上の「マクロ」より確認ができ、内容の編集や設定の有効化 / 無効化の切り替えも可能です。
手順⑥:同様の手順でマクロ②を作成する
以上ここまでが、マクロ①(Googleマップを開いたらGPSをオンにする)についての作成手順となりますが、全く同様の手順で逆の動作をするマクロ②(Googleマップを閉じたらGPSをオフにする)を作成します。
- トリガー:「アプリの起動/終了」より「アプリの終了時:Googleマップ」
- アクション:「位置情報モード」より「GPSをオフにする」
- 条件:設定なし
以上で対となる2つのマクロを作成できました。
実際に試してみる
動作検証:2つのマクロで動かす
2つのマクロが完成したら、実際に動くか試してみましょう。
例えば下記のようなマクロを有効化した状態で、
【マクロ①】
- トリガー:アプリの起動 / 終了(Googleマップを開いたら)
- アクション:位置情報モード設定(GPSをオンにする)
- 条件:任意(設定しなくてもOK)
【マクロ②】
- トリガー:アプリの起動 / 終了(Googleマップを閉じたら)
- アクション:位置情報モード設定(GPSをオフにする)
- 条件:任意(設定しなくてもOK)
まずGoogleマップを開き、GPSオンの状態を確認します。
そしてGoogleマップを閉じると、自動でGPSがオフへ切り替わりました!
その後、GPSがオフの状態でGoogleマップを再び開くと「有効にしますか?」とポップアップが表示され、オンに切り替えできます。
以上の通り、作成した2つのマクロはどちらも正常に動作しました。
動作検証:1つのマクロだけで動かす
今回例としたGoogleマップでは元々の仕様として、GPSがオフの状態でアプリを起動すると「有効にしますか?」とポップアップが表示されます。
このポップアップはマクロ①(Googleマップを開いたらGPSをオンにする)の設定有無に関わらず出現するため、実際の運用ではマクロ②(Googleマップを閉じたらGPSをオフにする)だけでも問題ありません。
ただGoogleマップ以外の位置情報を使うアプリ全てに共通するか未検証であるため、必要に応じてマクロ①も作成して、GPSオン / オフを自動化して下さい。
うまく動作しない場合
冒頭で記載の通り、今回設定する「位置情報モード」は「rootまたはADB hack済み」が条件のアクションとなるため、adbコマンドが実行されているか改めて確認して下さい。
下記は「アクション:モバイルデータ」の例ですが、「rootまたはADB hack済み」条件を満たせていない状態だとエラー表示が出ます。
補足:
そのほかMacroDroidで設定できるマクロまとめ
本記事で紹介したマクロ以外にも、MacroDroidの便利な設定は無限に存在します。
例えば、自宅や会社周辺のGPS検出可否をトリガーに、Wi-Fi機能のオン / オフ切り替え設定を自動化できます(2種類のマクロを作成し、同時に動かします)。
【マクロ①】
- トリガー:場所のトリガー(自宅周辺に入ったら)
- アクション:Wi-Fi設定(Wi-Fiを有効化)
- 条件:任意(設定しなくてもOK)
【マクロ②】
- トリガー:場所のトリガー(自宅周辺を出たら)
- アクション:Wi-Fi設定(Wi-Fiを無効化)
- 条件:任意(設定しなくてもOK)
また、Bluetoothデバイス(例:イヤホン / スマートウォッチ)の紛失防止のため、下記マクロでBluetoothの切断を検知し通知表示できます。
- トリガー:Bluetoothイベント(デバイスの切断を検知したら)
- アクション:通知を表示(デバイスの切断を警告)
- 条件:任意(設定しなくてもOK)
それ以外にも多数のマクロ設定例を関連記事【MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう】で解説しています。
そのほかAndroidのバッテリーを節約する方法まとめ
本記事で紹介したGPS切り替え以外にも、Androidの電池持ちを改善する設定は色々とあります。
例えば、Androidの「開発者向けオプション」よりアニメーション設定を変更することで、電池持ちを改善できます。
アニメーションを抑えると、その分操作の面白みも減るため、バランスを調整しながら設定してみて下さい。
このようなバッテリーを節約する情報を、関連記事【Androidでバッテリー残量を長持ちさせる方法まとめ! スマートフォンで電池の劣化を防ごう】で解説しています。
〆:GPSオフを自動化しよう!
以上、AndroidのGPSを自動で無効にする方法! 特定アプリで位置情報オンオフを切り替えてバッテリーを節約しよう の説明でした。
GPSオン / オフ切り替えを頻繁に操作しているなら、今回紹介したMacroDroidのマクロは大変便利ですよ。
ぜひ、お試しあれ。
コメント