admin管理员组

文章数量:1567758

这里我指的是WIFI可正常连接网络使用的前提下,手机状态栏WIF图标上仍出现感叹号的情况。
原因:
从 Android 5.0 开始,当安卓系统连接网络时,系统会向Google的某个特定的网址(http://www.google/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/
    操作:
    在ADB命令行中输入:
    $ adb shell settings put global captive_portal_server connect.rom.miui

完成操作后:

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

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

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

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

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

即可完成还原。

本文标签: 感叹号解决方法图标原因版本