AndroidでWi-Fiネットワークを従量制Wi-Fiとして扱う

Posted by onodai.


モバイルルータだったりテザリングだったりでWi-Fiに接続しているときに勝手にアプリの更新とかされると困る。
そんなときは接続先のWi-Fiネットワークを従量制のWi-Fiとして設定するとよい。

設定方法

以下のページに記載のとおり
Android デバイスを Wi-Fi ネットワークに接続する - Android ヘルプ

高度なネットワーク設定
従量制 Wi-Fi
お使いのネットワークで使用データ量に制限がある場合、Wi-Fi を従量制として設定することができます。ネットワークを従量制に設定することで、ダウンロードや各種アプリを通じてスマートフォンが使用するデータ量を詳細に管理することができます。

重要: 設定はスマートフォンによって異なる場合があります。詳しくは、デバイスのメーカーにお問い合わせください。

スマートフォンを Wi-Fi に接続します。
スマートフォンの設定アプリを開きます。
[ネットワークとインターネット] 次の操作 [Wi-Fi] をタップします。
接続している Wi-Fi ネットワークをタップします。
[詳細設定] 次の操作 [従量制] 次の操作 [従量制として処理] をタップします。

ここからが本題。
大抵の端末はこれで設定できるんですけど、このオプションを削除しているメーカーもあるんですよねHuaweiとかHuaweiとかHuaweiとかHuaweiとかHuaweiとかHuaweiとかHuaweiとかHuaweiとか……。
なのでそういうときはADB Shellからいじります。
ADB Shellを使う方法はGoogle先生にお尋ねください。

設定方法(ADB Shell)

  1. ADB Shellを起動
    adb shell
  2. 端末に保存されているすべてのWi-Fiネットワークのリストを取得
    cmd netpolicy list wifi-networks
  3. 保存されたWi-Fiネットワークのリストが以下のように表示される
    以下の例ではSSIDはWirelessで通常のネットワーク
    true = 従量制ネットワーク
    false = 通常のネットワーク
    Wireless;false
  4. SSIDを指定し、従量制ネットワークに変更する
    cmd netpolicy set metered-network Wireless true
  5. 変更されたか確認
    cmd netpolicy list wifi-networks
  6. trueになっていればよい
    Wireless;true

参考

How to Set a WiFi Network as Metered on Huawei or Honor Devices

comments powered by Disqus