【ROM教程】安卓原生ROM修改源码消除WIFI叹号教程。Android为了对网络状态进行检测,采用了一种叫做captive detection的方式进行网络状态检测。其实说起来很简单,每当连接到一个网络,比如移动数据网络或者WIFI的时候,Android的NetworkMonitor模块会构造一个http/https的请求,发送到指定的服务器,然后利用收到的响应进行网络状态判断。
安卓手机网络状态有如下几种状态:
1) 根本就没有返回,这种情况代表当前没有Internet访问;
2) 返回状态码204,这种情况代表具备完整的Internet访问(特定的服务器专门返回204的状态码);
3) 除204以外的其他大于200而小于400的状态码,这种状态码一般代表需要进行Web登录的网络连接,比如机场、商场提供的需要短信登录的网络。这种情况下Android会构造一个可能需要登录的状态栏通知以通知用户可能需要进行登录。
安卓类原生ROM刷机包默认的204服务器是由谷歌提供,由于谷歌在我国大陆区不可访问。wifi有叹号或打叉这都是正常的,因此,不要再见到WiFi的叹号就向ROM作者反馈bug啦,那根本就不是bug!
那么,如何解决这个问题呢,毕竟强迫症忍不了哇对不对。这里推荐一个神器,【CaptiveMgr】解决安卓原生系统WIFI打叉或有叹号问题:/1660.html
如果你是ROM开发者,可以通过修改源码,从源头上解决这个问题,下面我们放出教程。
安卓9以下版本ROM修改204服务器教程:
源码位置:frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
原代码:
private static final String DEFAULT_HTTPS_URL="/generate_204";
private static final String DEFAULT_HTTP_URL="/generate_204";
private static final String DEFAULT_FALLBACK_URL="/gen_204";
private static final String DEFAULT_OTHER_FALLBACK_URLS="/generate_204";
修改为:
private static final String DEFAULT_HTTPS_URL="https://connect./generate_204";
private static final String DEFAULT_HTTP_URL="http://connect./generate_204";
private static final String DEFAULT_FALLBACK_URL="http://connect./generate_204";
private static final String DEFAULT_OTHER_FALLBACK_URLS="http://connect./generate_204";
重新编译,解决。
安卓10以上版本ROM修改204服务器教程:
Android 10,我们发现frameworks/base/services/core/java/com/android/server/connectivity/下已经没有了NetworkMonitor。原来,自Android Q开始,网络状态由networkstack判断,相应的,我们依然通过修改204服务器来解决这个问题。
源码位置:packages/modules/NetworkStack/res/config.xml
原代码:
/generate_204
/generate_204
/gen_204
/generate_204
修改为:
http://connect./generate_204
https://connect./generate_204
http://connect./generate_204
http://connect./generate_204
如果本条资源对你有帮助,可以点击下方【打赏】支持本站
作者:番茄小子,如若转载,请注明出处:/14008.html