如果你使用的是 Android 5.0 以上的原生系统,那你很有可能遇到过这样一个现象:状态栏右上方的移动信号或者 Wi-Fi 指示图标旁莫名出现一个奇怪的感叹号。进入 WLAN 设置后还会发现,已经连接的无线网络下方出现「已连接,但不能连接到互联网」这样的提示。 $ e% P1 n( k9 \6 r8 I
为什么会有这种情况?我可以忽略它吗?从 Android 5.0 开始,当系统连接网络时,系统模块 NetworkMonitor 就会向 Google 的一个特定网址(http://www.google.com/generate_204) 发送数据请求来判断网络状态,如果成功就会返回一个特定的值表示设备可以连接到互联网。这个「特定的网址」在国内是无法正常访问的,感叹号因而也就出现了。 在感叹号存在的状态下,即便是我们连接了某个 Wi-Fi ,手机仍然可能使用移动数据进行网络传输,这会导致在不知不觉间产生超额的流量费。同时,由于系统会不断的尝试联网,手机待机时间也会受到不小的影响。 换言之,我们一定不能对此置之不理。
" }: ~6 ^* K, {有哪些解决方法?遇到「感叹号」问题目前有三种解决方法。 1. 通过应用解决 - 方法:我们曾为大家介绍了一款名为Portal Server的 App 来解决这个烦恼,采用完全图形化界面,通过输入可以使用的「generate_204」网址就行。
- 缺点:设备需要 Root,且应用作者提供的地址并不稳定。% S9 w' d) J( b, K; T2 w- Y. I9 \
2. 完全关闭网络检查服务 - 方法:无需 Root,使用 ADB 命令关闭系统网络检查服务:adb shell settings put global captive_portal_detection_enabled 0
- 缺点:当你使用公共 Wi-Fi 这种需要使用 portal 验证的网络时,因为网络检查被关闭,系统在访问 portal 验证页面时无法返回正确的值,最终导致无法完成验证和上网。5 U4 u4 }! B0 h2 g$ O
3. 替换网络检查服务的网址 最好的办法还是使用 ADB 命令的形式,将验证服务的网址(http://www.google.com/generate_204)替换成一个可以正常访问的 「generate_204」网址,这种方法无需 Root,而且不影响 WiFi 连接问题,下面是具体的操作方法。
" s8 D, a& C4 Q$ }$ D操作步骤1. 首先,需要下载 ADB 工具包到电脑系统的根目录。 2. 进入工具包目录,按住 Shift 键,同时在文件夹空白处点击鼠标右键,选择「在此处打开命令窗口」,打开命令控制程序。 3. 将手机通过 USB 连接至电脑,打开手机的 USB 调试选项,并选择在「允许使用此台电脑进行调试」中选择确定。 4. 经过测试,目前国内满足要求的可访问网址有不少(动手能力强的也可以自己建立,但不再本次的讨论范围之内),下面提供两个访问较为稳定的,选择任何一个网址均可: - connect.rom.miui.com/generate_204
- www.v2ex.com/generate_204& `0 F+ n O2 @! |: d6 u
5. 回到电脑桌面,在命令控制程序中,输入 adb shell。如果出现$标志说明 adb 服务已经开启,输入 exit 退出命令。 6. 直接输入以下命令并回车(任选其一): - adb shell settings put global captive_portal_server connect.rom.miui.com
- adb shell settings put global captive_portal_server www.v2ex.com. B) D) e% R% `1 f! x4 d! r. O6 w
7. 完成修改后可选择手动重启手机,或在当前命令控制程序窗口下,输入 adb shell reboot进行重启,重启完毕之后你会发现恼人的感叹号已经没有了! 注:以上修改方法重启不会失效,但如果刷机或者系统重置后,则需要重新操作一遍。 * n( M T* h% U$ C/ N1 K& c9 \0 t/ M
如何还原虽然这个情况很少发生,不过如果希望还原回去,也可以通过 adb 命令的形式,连接手机后在命令控制程序中输入以下两段命令: - adb shell settings delete global captive_portal_server
- adb shell settings put global captive_portal_detection_enabled 1, @% F y k- z6 q
之后手动重启手机或者输入 adb shell reboot命令重启后即可还原。 ( t) i$ Z# d! r
|