[Android] 個別アプリごとLTE(4G)を強制的にオフにする方法! スマートフォン指定機能でモバイルデータ通信を自動で無効化しよう

Android使い方

契約している携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、大容量の通信が必要なアプリ(例:YouTube)ではモバイルデータ通信を避けるべきです。

ただアプリ起動時に都度Wi-Fi接続を確認するのは面倒なので、できれば設定側で禁止したいですよね。

AndroidではOS標準の機能として個別アプリごと「バックグラウンドデータ」を禁止できます。

例えば「Google Chrome」アプリのバックグラウンド通信を禁止した例。

[Android] 個別アプリごとLTE(4G)を節約する方法! 指定機能でモバイルデータ通信を自動でオフに
契約している携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境ではなるべくモバイルデータ通信の使用を控えるべきです。 が、Wi-Fiへ接続できる環境にも関わらず、...

ただこの設定は「バックグラウンド(=そのアプリを閉じている最中)」での通信しか制限できないという欠点があります。

つまり「フォアグラウンド(=アプリを開いている時)」での通信は相変わらずLTE(4G)に繋がってしまいます。

そこで本記事では、特定アプリ起動時にAndroidのLTE(4G)を自動でオフにする方法を紹介します。

具体的にはAndroid向け自動化アプリ「MacroDroid」を使って、「LTE(4G)通信したくないアプリの起動」を検知して、モバイルデータ通信機能を自動でオン / オフ切り替える設定を行います。

本記事の内容は、Androidの機種やOSバージョンによっては、端末のroot化が必須となるケースがあります(詳細は記事中で解説しています)。

Photo by Mark Solarski on Unsplash

 

MacroDroid – モバイルデータ機能を自動制御する方法

記事中ではYouTube起動時 or 終了時に、Androidのモバイルデータ通信のオン / オフを切り替える設定を例に說明をします。

前提:MacroDroidでADB hack済みを取得する

Androidに自動化アプリ「MacroDroid」をインストールします。

本アプリの基本情報や使い方については、関連記事【MacroDroid – Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ】で解説しています。

MacroDroid - Androidでマクロを組んで作業を自動化! デザインもクールで使いやすい無料アプリ
Android向けの自動化アプリは色々とあり、よく挙げられるのが「Tasker」や「IFTTT」あたりでしょうか。 どちらも非常に便利なアプリですが、有料だったり、設定やUIに難があったり、などなど初心者には操作しづらい欠点が...

さらに今回は「モバイルデータ通信の制御」という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の高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 本ブログでも様々な自動化設定(マクロ)を紹介しています。 ...

以上の準備ができたら、MacroDroidを起動して「マクロの追加」へ進みます。

大まかなマクロ作成の流れを整理すると、今回は下記2種類のマクロを設定し、同時に動かします。

マクロ①

  • トリガー:アプリの起動 / 終了(YouTubeを開いたら)
  • アクション:モバイルデータ通信設定(LTEをオフにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(YouTubeを閉じたら)
  • アクション:モバイルデータ通信設定(LTEをオンにする)
  • 条件:任意(設定しなくてもOK)

さっそく設定してみましょう。

手順①:トリガーを設定する【マクロ①】

まず、1つ目のマクロ(YouTubeを開いたらLTEをオフにする)についてトリガーを設定します。

トリガー候補一覧より「アプリケーション」→「アプリの起動/終了」と選び、

「アプリの起動時」より対象アプリを選びます。

今回は例としてYouTubeにチェックを入れた。

ここで初回のみ「アクセシビリティ設定」が求められるので、画面に従って「ユーザー補助」設定にてMacroDroidを選び、

権限を有効にします。

以上で「アプリの起動時:YouTube」のトリガー設定ができました。

画面を右にスワイプし、「アクション」画面へ移ります。

手順②:アクションを設定する【マクロ①】

続いて、1つ目のマクロ(YouTubeを開いたらLTEをオフにする)についてアクションを設定します。

アクション候補一覧より「Connectivity」→「モバイルデータのオン/オフ」と進み、

「モバイルデータ通信をOFFにする」にチェックを入れます。

以上で「モバイルデータ通信をOFFにする」のアクション設定ができました。

画面を右にスワイプし、「条件」画面へ移ります。

手順③:条件を設定する(任意)【マクロ①】

そして、1つ目のマクロ(YouTubeを開いたらLTEをオフにする)について条件を設定します。

「条件」は任意なので設定しなくてもマクロ作成は完成できますが、「トリガー」とは別の前提条件を追加したい場合に設定します。

例えば「Wi-Fiを有効にしている場合のみ、YouTubeを開いたらLTEをオフにする」としたいなら、条件候補一覧より「Connectivity」→「Wi-Fiの状態」と進み、

「Wi-FiがONの状態」にチェックを入れればOKです。

右下の「✓チェック」アイコンをタップします。

手順④:マクロ名称を決めて完了!【マクロ①】

最後にマクロ①の名前を決めます。この後もう1つマクロを作成するため、区別しやすい名称にすると良いでしょう(後から名前の変更はできます)。

作成したマクロはアプリトップ画面左上の「マクロ」より確認ができ、内容の編集や設定の有効化 / 無効化の切り替えも可能です。

手順⑤:同様の手順でマクロ②を作成する

以上ここまでが、マクロ①(YouTubeを開いたらLTEをオフにする)についての作成手順となりますが、全く同様の手順で逆の動作をするマクロ②(YouTubeを閉じたらLTEをオンにする)を作成します。

  • トリガー:「アプリの起動/終了」より「アプリの終了時:YouTube」
  • アクション:「モバイルデータのオン/オフ」より「モバイルデータ通信をONにする」
  • 条件:設定なし

以上で対となる2つのマクロを作成できました。

 

実際に試してみる

2つのマクロが完成したら、実際に動くか試してみましょう。

動作検証:2つのマクロを動かす

例えば下記のようなマクロを有効化した状態で、

マクロ①

  • トリガー:アプリの起動 / 終了(YouTubeを開いたら)
  • アクション:モバイルデータ通信設定(LTEをオフにする)
  • 条件:任意(設定しなくてもOK)

マクロ②

  • トリガー:アプリの起動 / 終了(YouTubeを閉じたら)
  • アクション:モバイルデータ通信設定(LTEをオンにする)
  • 条件:任意(設定しなくてもOK)

Wi-Fiを有効にした状態でYouTubeを開くと、自動的にモバイルデータ通信がオフになりました。

その後、YouTubeを閉じると、自動的にモバイルデータ通信がオンに戻ります。

「トリガー」で設定するアプリは複数指定できるので、データ通信量の多いアプリをすべて追加すれば強制的にWi-Fi接続へ限定できますよ。

指定アプリ(例:YouTube)を開いている最中は、すべての機能でモバイルデータ通信がオフとなるため、Wi-Fiに繋がらない限りLINEの通知やメールの受信もできなくなります。

うまく動作しない場合

冒頭で記載の通り、今回設定する「NFC機能を変更」は「rootまたはADB hack済み」が条件のアクションとなるため、adbコマンドが実行されているか改めて確認して下さい。

MacroDroidの高度設定をroot不要で解放する方法! ADB hackでAndroidの自動化を強化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 本ブログでも様々な自動化設定(マクロ)を紹介しています。 ...

「rootまたはADB hack済み」条件を満たせていない状態だと、アクションの部分でエラー表示が出ます。

一方、Androidの機種やOSバージョンによっては、adbコマンドが正常に実行されているにも関わらず、モバイルデータ通信切り替えのマクロが機能しないケースがあります。

この症状はMacroDroidの開発者も認識している問題であり、いまだに改善されていません。

参考 MacroDroid Forums – Mobile data action not working.(英語)

もしお使いの機種でマクロが動作しない場合、代替策として端末をroot化すれば解決するかもしれません。

Nexus 6Pをroot化する方法! TWRPでAndroid 8.1にMagiskをインストールして改造しよう
Nexus 6P(Android 8.1)をroot化した際の作業を記録します。 Androidをroot化するためには、「Superuser」の権限を管理するアプリをインストールする必要があり、代表的なアプリとして「SuperSU」...

ボクの環境(Android 8.1を搭載するNexus 6P)では、root環境を用意してMacroDroidにスーパーユーザー権限を許可することで、モバイルデータ通信切り替えのマクロが動作することを確認しています。

 

補足:

そのほかMacroDroidで設定できるマクロまとめ

本記事で紹介したマクロ以外にも、MacroDroidの便利な設定は無限に存在します。

例えば、自宅や会社周辺のGPS検出可否をトリガーに、Wi-Fi機能のオン / オフ切り替え設定を自動化できます(2種類のマクロを作成し、同時に動かします)。

【マクロ①】

  • トリガー:場所のトリガー(自宅周辺に入ったら)
  • アクション:Wi-Fi設定(Wi-Fiを有効化)
  • 条件:任意(設定しなくてもOK)

【マクロ②】

  • トリガー:場所のトリガー(自宅周辺を出たら)
  • アクション:Wi-Fi設定(Wi-Fiを無効化)
  • 条件:任意(設定しなくてもOK)
自宅や会社周辺でWi-Fiオン/オフを自動化! 特定エリアをGPSで検知して設定を変更 [Android]
契約している携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境ではなるべくモバイルデータ通信の使用を控えるべきです。 が、ついWi-Fiが使えるにも関わらずWi-...

また、Bluetoothデバイス(例:イヤホン / スマートウォッチ)の紛失防止のため、下記マクロでBluetoothの切断を検知し通知表示できます。

  • トリガー:Bluetoothイベント(デバイスの切断を検知したら)
  • アクション:通知を表示(デバイスの切断を警告)
  • 条件:任意(設定しなくてもOK)
[Android] Bluetooth切断時に通知を自動表示! イヤホンやスマートウォッチの紛失防止を
ボクはBluetoothイヤホンやスマートウォッチを愛用しています。 ただ、持ち運ぶデバイスが増えるほど、外出先で無くすリスクが増えますよね。中にはせっかく購入したのに紛失して後悔している人もいるはず。 そこで本記事では...

それ以外にも多数のマクロ設定例を、関連記事【MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう】で解説しています。

MacroDroidでオススメのマクロ集まとめ! ルーティン作業はアクション/トリガーで自動化しよう
Android向けの自動化アプリは色々とありますが、直観的に自動化の設定ができる初心者にオススメな「MacroDroid」がボクのお気に入りです。 基本機能とその設定手順については、関連記事【MacroDroid – Andr...

そのほかモバイルデータ通信量を節約する方法まとめ

Androidではほかにもモバイルデータ通信量を節約する豆知識があります。

例えば本記事で紹介した自動化アプリ「MacroDroid」を活用することで、様々な条件下でWi-Fi接続を自動化できます。

具体例として、下記マクロを作成すれば、指定アプリを起動した際にWi-Fiを自動でオンに切り替えます。

  • トリガー:アプリの起動 / 終了(Wi-Fi接続をしたいアプリが起動したら)
  • アクション:Wi-FI設定(Wi-Fiをオンにする)
  • 条件:任意(設定しなくてもOK)
Androidでアプリ起動時にWi-Fiを自動でオンにする方法! 特定条件下の通信設定を強制的に変更しよう
スマートフォンの利用にあたって悩むのが、データ通信量の上限を意識する必要がある、という点ですよね。 特に動画再生アプリ(例:YouTube)やゲームアプリ(例:Pokémon GO)では多くの通信が行われるため、Wi-Fiではなくモ...

それ以外にもLTE(4G)通信量を節約する情報を、関連記事【Androidでモバイルデータ通信量を節約する豆知識まとめ! Wi-Fi接続を自動化して賢くLTE(4G)を管理しよう】でまとめて解説しています。

Androidでモバイルデータ通信量を節約する豆知識まとめ! Wi-Fi接続を自動化して賢くLTE(4G)を管理しよう
本ブログでも過去、Androidでモバイルデータ通信を節約する豆知識を色々と紹介してきました。 契約している携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境では...

 

〆:モバイルデータ通信のオン/オフを自動化しよう!

以上、[Android] 個別アプリごとLTE(4G)を強制的にオフにする方法! スマートフォン指定機能でモバイルデータ通信を自動で無効化しよう の説明でした。

毎回、月末にデータ通信量が不足して悩んでいるなら、今回紹介したMacroDroidのマクロで強制的にWi-Fi接続に限定できて有効ですよ。

ぜひ、お試しあれ。

Android使い方
おるくすをフォローする

関連記事

あっとはっく

コメント