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

编程知识 更新时间:2023-04-26 01:18:46

这里我指的是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

即可完成还原。

更多推荐

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

本文发布于:2023-04-19 16:50:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/ae15ad6105ffab65f323808b863a4d45.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:感叹号   解决方法   图标   原因   版本

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 88232文章数
  • 21499阅读数
  • 0评论数