对于ANDROID 5.0及其以上版本WIFI图标上显示感叹号的原因分析及解决方法

这里我指的是WIFI可正常连接网络使用的前提下,手机状态栏WIF图标上仍出现感叹号的情况。
原因:
从 Android 5.0 开始,当安卓系统连接网络时,系统会向Google的某个特定的网址(http://www.google.com/generate_204)发送数据请求来判断当前网络状态。
如果成功就会返回一个特定的值表示设备可以连接到互联网。然而这个特定的网址在国内是无法正常访问的,因此感叹号就出现了。
解决方法(均无需 ROOT):
预先:将手机通过 USB 连接至电脑,通过开发者模式调用ANDROID的 USB 调试选项,并同意手机中弹出的【允许使用此电脑进行调试信息】。
在这里插入图片描述
上图表示已成功连接到你的手机adb模式

  • 第一种:关闭网络检查服务
    思路:使用 ADB 命令关闭系统网络检查服务:
    操作:
    在ADB命令行中输入:
    $ adb shell settings put global captive_portal_detection_enabled 0
    在这里插入图片描述
    但在你使用公共 WIFI 这种需要使用 portal 验证的网络时,因为网络检查被关闭,系统在访问 portal 验证页面时无法返回正确的值,最终导致无法完成验证和上网。
  • 第二种:修改网络检查服务的网址
    思路:使用 ADB 命令将检测服务的网址换成可以正常访问的网址。
    国内满足要求的服务器有很多(也可自建),比如Tengine站点:http://connect.rom.miui.com/
    操作:
    在ADB命令行中输入:
    $ adb shell settings put global captive_portal_server connect.rom.miui.com
    在这里插入图片描述

完成操作后:

  • 或选择手动重启手机,重新连接WIFI。
  • 或直接打开飞行模式(此时WIFI会被强制关闭)然后关闭飞行模式后,手动重新打开WIFI。

以上操作完成后,可能在连接WIFI后会弹出网络认证【即便它不是公共网络】此时它弹出的是你刚刚修改的网页地址,点一下认证提示就可以了。
顺利完成以上步骤即可发现感叹号已消失。

还原方法:
若想要还原回去,仍可通过 ADB 命令行方式,连接手机后在 ADB 命令控制行中输入以下命令:

  • (针对你使用的第一种方法)
    $ adb shell settings put global captive_portal_detection_enabled 1

  • (针对你使用的第二种方法)
    $ adb shell settings delete global captive_portal_server

即可完成还原。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值