★我要吧★

 找回密码
 注册[Register]
搜索
qq空间相册密码查看为什么登陆后需要激活无法注册?

[分享] 手机无需ROOT消除WIFI或移动网络出现的感叹号

[复制链接]
发表于 2016-4-24 18:15:21 | 显示全部楼层 |阅读模式
如果你使用的是 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
发表于 2016-6-1 13:47:09 | 显示全部楼层
谢谢分享!!!
回复 支持 反对

使用道具 举报

发表于 2016-7-22 08:43:43 来自手机 | 显示全部楼层
感谢分享,           
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

QQ|手机版|小黑屋|☆我要吧☆ ( 豫ICP备13016831号-1 )

GMT+8, 2024-11-24 16:05 , Processed in 0.059201 second(s), 18 queries .

Powered by abc369 X3.4

© 2001-2023 abc369.

快速回复 返回顶部 返回列表