解决Android/安卓原生ROM出现网络连接受限(Limited connection),网络无法链接的问题

1.安卓原生ROM出现网络连接受限

 

从 Android 5.0(API 级别 21)开始,Android 设备就已能够检测 Captive Portal / 强制门户,并通知用户他们需要登录网络才能访问互联网。Android原生系统用于检测的默认服务器是谷歌的,由于众所周知的原因无法访问。

虽然WiFi图标显示叹号和网络受限,但是访问网络问题不大,不过Chrome等应用应用会一直提示:无网络连接。

这会造成软件中需要网络连接的 WorkManager 一直不能执行

解决方法:

使用 ADB 命令解决:

删除变量&关闭检测

.\adb shell settings delete global captive_portal_mode
.\adb shell settings put global captive_portal_mode 0 (注:Android 8 不需要执行这一条)

执行上述两条命令中,可能会出现
*daemon not running; starting now at tcp:5037
*daemon started successfully
证明adb已经成功连接上手机(TCP端口不一定相同),无影响。

执行.\adb shell settings get global captive_portal_mode,返回结果应为0

我认为设置 captive_portal_mode 为 0 是没有必要的,你都已经关闭检测了,为什么还需要设置 URL 呢?
另外由于默认使用 HTTPS,所以 HTTP URL 也是不用配置的。
所以只配置 captive_portal_https_url 就可以了。

此外,Android 开发者网站有内地站点:https://developer.android.google.cn/studio/releases/platform-tools/

 

 

删除默认的强制门户设置:

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_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

 

2.时间同步问题

 

因为时间同步的服务器也是在国外的,所以我们也需要将其修改为国内NTP服务器,我们只需要在adb中输入以下内容即可
Mr. Wu's code
1
2
3
4
//设置中国时区
adb shell setprop persist.sys.timezone Asia/Shanghai
//设置NTP服务器
adb shell settings put global ntp_server ntp1.aliyun.com

这是几个国内可用的服务器地址,也可以使用自己的服务器,返回204即可。

小米:http://connect.rom.miui.com/generate_204

华为:http://connectivitycheck.platform.hicloud.com/generate_204

Vivo:http://wifi.vivo.com.cn/generate_204


Google 大陆: g.cn/generate_204

国内还可以用 connectivitycheck.gstatic.com / www.gstatic.com / ssl.gstatic.com ,国内会自动解析到北京Google那边,在境外的话又能解析到Google全球网络去。

 

posted @ 2022-07-01 10:40  很多无尾熊  阅读(20648)  评论(0编辑  收藏  举报
本站已运行[ ]
正在加载今日诗词....