【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打叉或有叹号问题:https://www.xtdiguo.com/1660.html
如果你是ROM开发者,可以通过修改源码,从源头上解决这个问题,下面我们放出教程。
安卓9以下版本ROM修改204服务器教程:
源码位置:frameworks/base/services/core/java/com/android/server/connectivity/NetworkMonitor.java
原代码:
private static final String DEFAULT_HTTPS_URL="https://www.google.com/generate_204"; private static final String DEFAULT_HTTP_URL="http://connectivitycheck.gstatic.com/generate_204"; private static final String DEFAULT_FALLBACK_URL="http://www.google.com/gen_204"; private static final String DEFAULT_OTHER_FALLBACK_URLS="http://play.googleapis.com/generate_204";
修改为:
private static final String DEFAULT_HTTPS_URL="https://connect.rom.miui.com/generate_204"; private static final String DEFAULT_HTTP_URL="http://connect.rom.miui.com/generate_204"; private static final String DEFAULT_FALLBACK_URL="http://connect.rom.miui.com/generate_204"; private static final String DEFAULT_OTHER_FALLBACK_URLS="http://connect.rom.miui.com/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
原代码:
<!-- HTTP URL for network validation, to use for detecting captive portals. --> <string name="default_captive_portal_http_url" translatable="false">http://connectivitycheck.gstatic.com/generate_204</string> <!-- HTTPS URL for network validation, to use for confirming internet connectivity. --> <string name="default_captive_portal_https_url" translatable="false">https://www.google.com/generate_204</string> <!-- List of fallback URLs to use for detecting captive portals. --> <string-array name="default_captive_portal_fallback_urls" translatable="false"> <item>http://www.google.com/gen_204</item> <item>http://play.googleapis.com/generate_204</item> </string-array>
修改为:
<!-- HTTP URL for network validation, to use for detecting captive portals. --> <string name="default_captive_portal_http_url" translatable="false">http://connect.rom.miui.com/generate_204</string> <!-- HTTPS URL for network validation, to use for confirming internet connectivity. --> <string name="default_captive_portal_https_url" translatable="false">https://connect.rom.miui.com/generate_204</string> <!-- List of fallback URLs to use for detecting captive portals. --> <string-array name="default_captive_portal_fallback_urls" translatable="false"> <item>http://connect.rom.miui.com/generate_204</item> <item>http://connect.rom.miui.com/generate_204</item> </string-array>
可能对你有帮助的内容:极客币获取 | 话费充值 | 下载帮助 | 刷机必看 | 阿里云代金券
文章名称:【ROM教程】安卓原生ROM修改源码消除WIFI叹号教程
文章链接:https://www.xtdiguo.com/14008.html
免责声明:根据《计算机软件保护条例》第十七条规定“为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬。”您需知晓本站所有内容资源均来源于网络,仅供用户交流学习与研究使用,版权归属原版权方所有,版权争议与本站无关,用户本人下载后不能用作商业或非法用途,需在24个小时之内从您的电脑中彻底删除上述内容,否则后果均由用户承担责任;如果您访问和下载此文件,表示您同意只将此文件用于参考、学习而非其他用途,否则一切后果请您自行承担,如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。