越来越多的家庭宽带互联网服务提供商正在为他们的服务设置每月下载上限。诸如Comcast之类的某些服务,您可以每月多付50美元,以忽略其每月1TB的数据上限,但其他服务提供商则不提供此服务,其服务限制也低得多。无线客户多年来一直在处理数据上限问题,这就是为什么Android自动将移动数据连接视为按量计费的原因。大多数Android设备允许您将WiFi网络设置为按里程计费,但由于某些原因,华为隐藏了此面向用户的功能。
对于社区中的某些人来说,这可能是一件大事,因为有时很难跟踪您的手机在后台使用了多少数据。当Android检测到您的手机位于不限流量的WiFi网络上时,它将使应用程序可以根据需要使用尽可能多的数据。除非您在Play商店应用程序中手动将其关闭,否则OTA更新会自动下载,大型应用程序和游戏更新也会自动更新。值得庆幸的是,即使像华为这样的OEM都向您隐藏了此设置,也有一种方法可以通过简单的ADB shell命令进行更改。
如何将WiFi网络设置为计量
请按照上一教程来启动ADB并在您的设备上运行。
在命令提示符或终端中,执行以下命令: adb shell
在命令提示符或终端中键入以下命令,以获取所有已保存的WiFi网络的列表: cmd netpolicy list wifi-networks
系统会为您提供保存的WiFi网络列表,其中包含布尔值true / false。真=已计量&假=未计量。
因此,您可以从此处在命令提示符或终端中输入以下命令来更改设置: cmd netpolicy set metered-network Wireless true
wifi网络计费器
在这里的示例中,我保存的WiFi网络的SSID为“无线”,并且此命令将其从false更改为true(未计量为已计量)。
现在,您可以输入我们先前输入的第一个命令,以获取保存的WiFi网络的另一份打印输出: cmd netpolicy list wifi-networks
wifi网络计费更新
它将显示您已将其从非计量更改为计量(在我的示例中)或从计量更改为非计量(如果您将其改回)。
说明
与我们最近向您展示的大多数ADB Shell命令教程一样,Android在平台中也内置了此功能。在大多数情况下,OEM和/或运营商要么删除了面向用户的设置,要么一开始就没有实现它。我们在Google的Pixel中具有此功能,并且在OnePlus 5上也具有此功能。但是,华为已删除了此选项,因此这对于拥有Huawei或Honor设备的用户可能会有帮助。
我们首先输入的“ list wifi-networks”命令仅向我们显示设备上已保存的WiFi网络的列表。这不仅可以让您查看已保存的所有网络,还可以告诉您是否将其指定为计量网络。我的WiFi网络的SSID为“无线”,并且未设置为按计量,因此首先返回“无线;假”。
然后,我们使用“ set metered-network”命令更改此设置,以告知Android设备我们要定位的无线网络(通过SSID)。然后,在此之后放置一个空格,并在此处将布尔值设置为true或false。我的WiFi网络最初没有设置为按里程计费,因此我使用该命令将其更改为“ true”。然后,当我再次执行“ list wifi-networks”命令时,它显示了以前列出的相同WiFi网络,但现在它是一个计量网络。
您始终可以在ADB Shell中返回此处,如果要将其切换回非计量网络,则可以将其更改回false。就像所有设置更改一样,此设置将在重启和OTA更新后保留,但是如果您恢复出厂设置,则需要再次进行。