Android 默认去掉URL网络校验,设置不进行网络校验

Android 系统连接WIFI显示网络连接受限分析处理_安卓13类原生系统网络受限-CSDN博客

package\modules\NetworkStack\src\com\android\networkstack\util\NetworkStackUtils.java

public static final String CAPTIVE_PORTAL_MODE = "captive_portal_mode";

//0 不检测

public static final int CAPTIVE_PORTAL_MODE_IGNORE = 0;

//1默认弹框提示,默认

public static final int CAPTIVE_PORTAL_MODE_PROMPT = 1;

//2检测到需要登录则自动断开此热点并不再自动连接

public static final int CAPTIVE_PORTAL_MODE_AVOID = 2;

/vendor/mediatek/proprietary/packages/apps/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

//*/add wifi Not verified

loadSetting(stmt, Settings.Global.CAPTIVE_PORTAL_MODE, Settings.Global.CAPTIVE_PORTAL_MODE_IGNORE );//0

//*/

【以上是方法二】

国内访问或使用国外的网址失败,系统提示无法连接并访问网络,不可用或者网络受限

方案修改:一是替换了校验网络的url地址,二是去除整个校验网络过程。

【以下是方法一】

将该网址替换系统默认的校验网址

--- a/packages/modules/NetworkStack/res/values/config.xml

+++ b/packages/modules/NetworkStack/res/values/config.xml

@@ -11,7 +11,7 @@

<integer name="default_captive_portal_dns_probe_timeout">12500</integer>

<!-- HTTP URL for network validation, to use for detecting captive portals. -->

<!-- HTTPS URL for network validation, to use for confirming internet connectivity. -->

+ <string name="default_captive_portal_https_url" translatable="false">https://xxxx.xx.xx/generate_204\</string>

注意overlay地方:

vnd\vendor\mediatek\proprietary\packages\overlay\vendor\NetworkStackResOverlay\res\values\config.xml

<?xml version="1.0" encoding="utf-8"?>

<resources>

</resources>

如果没有特殊要求的话建议将网络评估机制的结果直接手动返回成功

添加变量:b/packages/modules/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java

@@ -1468,6 +1468,7 @@ public class NetworkMonitor extends StateMachine {

@VisibleForTesting

protected CaptivePortalProbeResult isCaptivePortal() {

  • mIsCaptivePortalCheckEnabled = false;
    if (!mIsCaptivePortalCheckEnabled) {
    validationLog("Validation disabled.");
    return CaptivePortalProbeResult.SUCCESS;

    或者:构造方法里面:

//*/

mIsCaptivePortalCheckEnabled = false;

/*/

mIsCaptivePortalCheckEnabled = getIsCaptivePortalCheckEnabled();

//*/

相关推荐
寻星探路1 小时前
【深度长文】万字攻克网络原理:从 HTTP 报文解构到 HTTPS 终极加密逻辑
java·开发语言·网络·python·http·ai·https
工程师老罗2 小时前
如何在Android工程中配置NDK版本
android
曹牧3 小时前
Spring Boot:如何测试Java Controller中的POST请求?
java·开发语言
爬山算法4 小时前
Hibernate(90)如何在故障注入测试中使用Hibernate?
java·后端·hibernate
kfyty7254 小时前
集成 spring-ai 2.x 实践中遇到的一些问题及解决方案
java·人工智能·spring-ai
猫头虎4 小时前
如何排查并解决项目启动时报错Error encountered while processing: java.io.IOException: closed 的问题
java·开发语言·jvm·spring boot·python·开源·maven
李少兄4 小时前
在 IntelliJ IDEA 中修改 Git 远程仓库地址
java·git·intellij-idea
忆~遂愿4 小时前
ops-cv 算子库深度解析:面向视觉任务的硬件优化与数据布局(NCHW/NHWC)策略
java·大数据·linux·人工智能
小韩学长yyds5 小时前
Java序列化避坑指南:明确这4种场景,再也不盲目实现Serializable
java·序列化
仟濹5 小时前
【Java基础】多态 | 打卡day2
java·开发语言