5月 152020
 

本文基于Android8.1系统

 
问题原因:

因为安卓系统默认测试网络的连接是用的google相关的域名,在国内网络无法访问,所以造成即手机连上网络也会出现“已连接,但无法访问互联网”的问题。

 
源码修改:

可以使用下面两个方法其中之一修改,换成国内可访问的链接

1. 修改文件frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java

将文件中常量DEFAULT_HTTPS_URL和DEFAULT_HTTP_URL对应的URL换成可访问的(注意:链接是需要返回http 204返回码的)

2. 修改Android的settings库中Global域中captive_portal_http_url和captive_portal_https_url的值

笔者用的第一种方法,第二种方法没做测试,修改默认设置值请参考下面的链接

编译Android8.1修改默认分辨率和屏幕密度

 
附:一些可用的返回204的链接

http://clients1.google.com/generate_204
http:// clients3.google.com/generate_204
http://www.google-analytics.com/generate_204
http://httpbin.coding.io/status/204
http://www.google.cn/generate_204
http://gen204.sinaapp.com/generate_204
http://g.cn/generate_204
https://mine260309.me/generate_204
http://ping.mine260309.me/generate_204
http://noisyfox.cn/generate_204
https://204.io/generate_204
https://mine260309.me/archives/1587

 
参考链接

https://blog.csdn.net/gsls200808/article/details/54574754

打赏
 Posted by on 2020-05-15

Sorry, the comment form is closed at this time.