android5.0以后都会对网络连接是否有internet进行检测,可是谷歌检测的服务器是他们的,由于被墙了所以网络始终检测不到internet。
检测函数为isCaptivePortal(),位于android\frameworks\base\services\core\java\com\android\server\connectivity\NetworkMonitor.java中。
查看改函数中URL url = new URL("http", mServer, "/generate_204");,可以知道其是从android\frameworks\base\packages\SettingsProvider\res\values\defaults.xml中
<string name="def_captive_portal_server">connectivitycheck.gstatic.com</string>获取的,可以将其替换掉就可以了替换的网站可以是g.cn或者5.0.appinn.com