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();

//*/

相关推荐
毕设源码-邱学长4 小时前
【开题答辩全过程】以 基于Java的学校住宿管理系统的设计与实现为例,包含答辩的问题和答案
java·开发语言
兑生6 小时前
【灵神题单·贪心】1481. 不同整数的最少数目 | 频率排序贪心 | Java
java·开发语言
daidaidaiyu6 小时前
一文学习 Spring 声明式事务源码全流程总结
java·spring
xiangpanf7 小时前
Laravel 10.x重磅升级:五大核心特性解析
android
零雲7 小时前
java面试:了解抽象类与接口么?讲一讲它们的区别
java·开发语言·面试
robotx10 小时前
安卓线程相关
android
左左右右左右摇晃10 小时前
Java并发——synchronized锁
java·开发语言
消失的旧时光-194310 小时前
Android 面试高频:JSON 文件、大数据存储与断电安全(从原理到工程实践)
android·面试·json
sxlishaobin11 小时前
Java I/O 模型详解:BIO、NIO、AIO
java·开发语言·nio
彭于晏Yan11 小时前
Spring AI(二):入门使用
java·spring boot·spring·ai