解决Android WiFi提示无法访问互联网

Last updated: 2022-10-21
Table of contents

前提

  • 本说明适用于Android 10以上版本的系统, 在Android 11上测试通过
  • 本文将帮助解决那些明明WiFi有网, 但Android系统不认的情况

方法

方法1:修改网络连通性检测地址

很简单, 手机开启ADB后, 连接到电脑上执行下面的命令

adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
# 下面一条可选
adb shell settings put global captive_portal_fallback_url http://cp.cloudflare.com/generate_204

注意, 链接前面的 http(s) 不可省略, 且必须与配置对应!

方法2:禁用网络连通性检测

adb shell settings put global captive_portal_mode 0

原理说明

Android连接上一个Access Point之后, 会用 CaptivePortal 进行网络连通性检测。 有些系统默认的检测地址在大陆无法访问, 故改成大陆可以访问的就可以了。 当然也可以视情况禁用。

网上传最多的是改 captive_portal_server , 但这个配置已经是 deprecated 的了.

附录

其它可用地址:

  • http://cp.cloudflare.com/generate_204
  • http://www.qualcomm.cn/generate_204

配置选项来源: