
Pixel 在中国大陆连 WiFi 时,经常会在已连接的网络旁边显示一个感叹号,意思是系统判断这个网络”无法访问互联网”,哪怕实际上网完全正常。这是因为安卓系统判断网络是否可用,靠的是去访问谷歌指定的几个检测地址,而这些地址在国内大多打不通,系统就误判成了受限网络。这篇记录一下不用 root,只在手机本机上就能解决这个问题的方法。
要做这件事,手机上需要先装好两个 app:
修改检测地址
启动 shizuku 并打开 aShell 之后,依次执行下面四条命令:
adb shell settings delete global captive_portal_https_url
adb shell settings delete global captive_portal_http_url
adb shell settings put global captive_portal_http_url http://captive.v2ex.co/generate_204
adb shell settings put global captive_portal_https_url https://captive.v2ex.co/generate_204
执行完之后,把飞行模式打开再关闭一次,让网络重新连接一遍,感叹号通常就会消失。
地址也可以换成小米的
除了 V2EX 的地址,也可以用小米的检测地址替代:
adb shell settings put global captive_portal_http_url http://connect.rom.miui.com/generate_204
adb shell settings put global captive_portal_https_url https://connect.rom.miui.com/generate_204
如果不想用检测,也可以直接关掉
不想折腾检测地址的话,也可以选择把 Captive Portal 检测整体关闭:
adb shell settings put global captive_portal_mode 0
想恢复默认状态的话,改回模式 1 即可:
adb shell settings put global captive_portal_mode 1
核对后说明:文中两组检测地址(v2ex.co、miui.com)目前都能正常访问,没有失效;shizuku、aShell 两篇前置教程的链接也都有效。这几个
adb shell settings 命令对应的系统参数,在目前的安卓版本里仍然有效,没有被废弃,可以照常使用;不过安卓近几个版本一直在扩展网络连通性检测的机制(比如通过 DHCP 选项获取检测地址),如果某天用这几条命令改完依旧没用,大概率是网络本身换了检测方式,而不是命令写错了。.png)


评论已关闭。