tags: [android]

2015/1/22 更新

android5.0通过访问google服务器判断wifi是否需要验证及网络是否通畅,在我朝由于连不上google服务器所以一直显示感叹号,而且容易导致链接wifi而使用数据。
解决方法:
将google服务器的地址换掉或者关闭这个功能

adb命令

1.完全屏蔽网络检查功能,最简单快速,但是就没有办法提示wifi登陆:

adb shell  "settings put global captive_portal_detection_enabled 0"

2.用国内的服务器替换掉google的服务器(这里用的是google国内的g.cn):

adb shell  "settings put global captive_portal_server g.cn"

用Portal Server修改器app

http://coolapk.com/apk/org.foxteam.noisyfox.noexclamation

注:
1.adb不需要ROOT,app需root,修改之后需要重新联网生效(开飞行模式关飞行模式)
2.如果禁用“设置”等app的联网权限,感叹号一直存在。
3.以上修改方式具有持久性,重启依旧有效,除非刷机或者清除数据。
4.据说g.cn有些运营商网络不能正常访问,可以尝试设置为 www.265.com,

如何自己搭建

只要访问 你的域名/generate_204 返回值为204即可
最简单的方案是,直接建立一个generate_204的0字节文件。
rewrite 和 nginx 就不说了,有需要可以点最后的链接看

其实只要有一两个备用就行,也没有必要自建。

内容来自:http://小狐狸.中国/45.html (android代码分析及解释看这里)