携帯キャリアのプランによって1ヶ月で利用できるデータ通信上限量が決まっているため、自宅や会社などWi-Fiを利用できる環境ではなるべくモバイルデータ通信の使用を控えるべきです。
が、Wi-Fiへ接続できる環境にも関わらず、様々な要因で、いつの間にかモバイルデータ通信に切り替わっているケースがあります。
これに気付かずに大容量ファイルのダウンロードや動画閲覧をすると、すぐにデータ通信の上限に達してしまいますよね。
そこで本記事では、Androidで個別アプリごと4G(LTE)接続をなるべく節約する2つの方法を紹介します。
- アプリごとバックグラウンドでの4G(LTE)通信を無効化する(別途アプリ不要)
- アプリごと4G(LTE)通信を自動で無効化する(別途アプリ要)
前者は、アプリごとバックグラウンドでのモバイルデータ通信をオフにします。Android標準設定の範囲内で実現できるため別途アプリの用意は不要ですが、あくまでそのアプリを開いていないとき(=バックグラウンド)のみ4G(LTE)通信を制限します。
後者は、指定したアプリ起動中のみ自動でモバイルデータ通信をオフに切り替えます。そのアプリを開いているとき(=フォアグラウンド)での4G(LTE)通信も制限できますが、別途専用アプリを用意する必要があります。
それぞれの方法について、以降で詳細を解説します。
iPhoneで個別アプリごと4G通信を禁止する方法は、関連記事【[iPhone] 個別アプリごと4G(LTE)を強制的にオフにする方法! iOS指定機能でモバイルデータ通信を自動で無効化しよう】で解説しています。

Androidでアプリごとバックグラウンド4G通信を禁止する方法
AndroidはOS標準設定の範囲内で、アプリを開いていないとき(=バックグラウンド)のモバイルデータ通信を制限する機能が用意されています。
そのアプリを開いているとき(=フォアグラウンド)は禁止できませんが、アプリを使っていないときも裏側で大量のデータ通信を行っているケースがあるため、データ量の節約になりますよ。
大きく2通りの手順で設定できます。
- 「モバイルデータ使用量」設定より禁止する手順
- アプリ一覧より選択して禁止する手順
それぞれ順番に解説します。
「モバイルデータ使用量」設定より禁止する手順
「設定」→「データ使用」より「モバイルデータ使用量」へ進み、
過去4G(LTE)を使用したアプリ一覧が表示されるので、データ容量の数値も参考に、モバイルデータ通信を禁止したいアプリの「バックグラウンドデータ」トグルをタップしてオフにします。

例えば「Google Chrome」アプリに対し行ってみる。
これで「バックグラウンドデータ」をオフにしたアプリは、以後アプリを開いている間のみモバイルデータ通信が使用されるようになります。
表示されるデータ量のうち、「フォアグラウンド」がそのアプリを開いている最中に発生したデータ量で、「バックグラウンド」がそのアプリを閉じている最中に裏で発生したデータ量を指しています。
Androidの標準機能で制限できるのは「バックグラウンド」で使用されるモバイルデータ通信となるため、このデータ量数値が大きいアプリに対し実行すると良いでしょう。
アプリ一覧より選択して禁止する手順
上記で紹介した「モバイルデータ使用量」設定より禁止する方法は、すでに当該アプリでデータ量がある程度発生していないと選択するのが面倒なデメリットがあります。
そこで、頻繁にデータ通信を行わないアプリや新規にインストールしたアプリに対しては、下記より説明するアプリ一覧より禁止する方法がオススメです。
「設定」→アプリよりAndroidのアプリ一覧が表示されるので、バックグラウンドでのモバイルデータ通信を禁止したいアプリを選びます。
後はアプリ情報で「データ使用」を開き、「バックグラウンドデータ」トグルをタップしてオフにすればOK。

例えば「Google Chrome」アプリに対し行ってみる。
これで「バックグラウンドデータ」をオフにしたアプリは、以後アプリを開いている間のみモバイルデータ通信が使用されるようになります。
手順の中で紹介した”アプリ情報の開き方”はほかにも何通りかあります。
詳細は関連記事【Androidでアプリ情報の見方と表示方法まとめ! 素早く開いて設定変更しよう】で解説しています。

参考:バックグラウンドデータをオフにしたアプリをまとめてオンに戻す方法
もし複数アプリで無効にしたバックグラウンドデータを、一括で有効化したい場合、設定から アプリと通知 → アプリをすべて表示 と進み、
メニューの アプリの設定をリセット を実行すればOK。
合わせて、次の内容もリセットされます。
- 無効化されているアプリ
- 無効化されているアプリの通知
- 特定の操作で使用するデフォルトのアプリ
- アプリのバックグラウンドデータの制限
- 権限のすべての制限
MacroDroid – アプリごと4G通信を自動で禁止する方法
アプリを開いているとき(=フォアグラウンド)もモバイルデータ通信を無効化したい場合、アプリを開く都度4G(LTE)機能をオフにすれば実現できますが、手動で操作するのはかなり面倒です。
そこで今回紹介する自動化アプリ「MacroDroid」を使って、「4G(LTE)通信したくないアプリの起動」を検知して、モバイルデータ通信機能を自動でオン / オフ切り替える設定を行います。
前提:MacroDroidでADB hack済みを取得する
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種類のマクロを設定し、同時に動かします。
マクロ①
- トリガー:アプリの起動 / 終了(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接続へ限定できますよ。
うまく動作しない場合
冒頭で記載の通り、今回設定する「NFC機能を変更」は「rootまたはADB hack済み」が条件のアクションとなるため、adbコマンドが実行されているか改めて確認して下さい。

「rootまたはADB hack済み」条件を満たせていない状態だと、アクションの部分でエラー表示が出ます。
一方、Androidの機種やOSバージョンによっては、adbコマンドが正常に実行されているにも関わらず、モバイルデータ通信切り替えのマクロが機能しないケースがあります。
この症状はMacroDroidの開発者も認識している問題であり、いまだに改善されていません。
参考 MacroDroid Forums – Mobile data action not working.(英語)
もしお使いの機種でマクロが動作しない場合、代替策として端末をroot化すれば解決するかもしれません。

ボクの環境(Android 8.1を搭載するNexus 6P)では、root環境を用意してMacroDroidにスーパーユーザー権限を許可することで、モバイルデータ通信切り替えのマクロが動作することを確認しています。
補足:そのほかモバイルデータ通信を制御する方法まとめ
Androidではほかにも様々な方法で、個別アプリごとモバイルデータ通信を制御できます。
すべてのアプリでモバイルデータ通信を禁止する方法
すべてのアプリ上でモバイルデータ通信を禁止したい場合、「モバイルデータ通信」トグルをオフにすればOK。
これでデータ通信はすべてWi-Fiに限定され、Wi-FiがオフだとAndroidはオフライン状態となり、通信が必要なアプリは機能しなくなります。
またクイック設定からも「モバイルデータ通信」をオフできます。
「モバイルデータ通信」アイコンをタップしてオフにするか、「機内モード」アイコンをタップしてオンにするか、いずれかの方法で実現できます。

左は「モバイルデータ通信」をオフに、右は「機内モード」をオンにする例。
なお、もしクイック設定上に「機内モード」や「モバイルデータ通信」のタイルがない場合、すでに削除済みかもしれません。関連記事を参考に再表示させて下さい。

参考:モバイルデータ通信をオフにしても電話の着信は可能
「モバイルデータ通信」をオフにする設定は「データ通信」に関しての制約であるため、オフライン状態となっていても電話の着信は可能です。
ただ上記はあくまで090携帯番号の着信を指しています。
SNSアプリ(例:LINE / facebook)の通話機能の場合、IP電話となりデータ通信を使用するため、オフライン状態だと着信を受けれない点に注意が必要です。

左のLINE着信側がオフラインだと、右の発信側はいつまでも発信画面が表示され続ける。
すべての通信を3G接続に限定する方法
今でこそスマートフォンの多くは4G(LTE)という第4世代の高速通信が常識となっていますが、かつては第3世代携帯の通信規格(3G)が普及していました。
現在でも4G(LTE)が繋がりにくい地下や山奥では自動でモバイルデータ通信が3Gへ切り替わる場面がありますが、設定で強制的に3Gへ限定させることもできます。
「設定」→「もっと見る」より「モバイルネットワーク」へ進み、
「優先ネットワークタイプ」を「3G」とすることで、以後モバイルデータ通信を使う際の通信規格は「3G」が優先されます。
3Gは前世代の通信規格ということもあり速度は4G(LTE)より遅く、同じ時間で送受信できるデータ量は相対的に小さくなるため、この特徴を活用して通信量を節約するという豆知識もあるようです。

同じ場所で計測したLTE(4G)と3Gの速度比較。
MacroDroidでWi-Fi接続を自動化する方法
本記事で紹介したマクロ以外にも、「MacroDroid」の便利な設定は無限に存在します。
例えば、自宅や会社周辺のGPS検出可否をトリガーに、Wi-Fi機能のオン / オフ切り替え設定を自動化できます(2種類のマクロを作成し、同時に動かします)。
マクロ①
- トリガー:場所のトリガー(自宅周辺に入ったら)
- アクション:Wi-Fi設定(Wi-Fiを有効化)
- 条件:任意(設定しなくてもOK)
マクロ②
- トリガー:場所のトリガー(自宅周辺を出たら)
- アクション:Wi-Fi設定(Wi-Fiを無効化)
- 条件:任意(設定しなくてもOK)

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

そのほかモバイルデータ通信量を節約する方法まとめ
Androidではほかにもモバイルデータ通信量を節約する豆知識があります。
詳細は関連記事【Androidでモバイルデータ通信量を節約する豆知識まとめ! Wi-Fi接続を自動化して賢くLTE(4G)を管理しよう】でまとめて解説しています。

〆:賢くモバイルデータ通信量を節約しよう!
以上、[Android] 個別アプリごと4G(LTE)を強制的にオフにする方法! スマートフォン指定機能でモバイルデータ通信を自動で無効化しよう の説明でした。
毎月のデータ量に悩んでいれば、まずは前半で紹介したアプリごとバックグラウンドモバイルデータ通信を禁止する方法をお試し下さい。
一方、Wi-Fiの非接続に気づかず大容量通信が発生するアプリ(例:YouTube)を使用してしまうシーンが多ければ、後半で紹介した「MacroDroid」で4G(LTE)機能を自動オフとする方法をお試し下さい。
ぜひご参考あれ。
コメント