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

//*/

相关推荐
molong9317 分钟前
Android学习之定时任务
android·学习
季鸢27 分钟前
Java设计模式之中介者模式详解
java·设计模式·中介者模式
小马爱打代码29 分钟前
设计模式:观察者模式 - 实战
java·观察者模式·设计模式
非凡ghost40 分钟前
XPlifeapp:高效打印,便捷生活
android·智能手机·生活·软件需求
失败尽是常态Z41 分钟前
基于JWT+Redis的登录流程实现
java·数据库·redis·状态模式·jwt·用户登录
快乐肚皮43 分钟前
Redisson学习专栏(二):核心功能深入学习(分布式锁,分布式集合,原子操作与计数器,事件与监听)
java·分布式·分布式锁·redisson·事件·分布式集合·原子
Mr YiRan1 小时前
Kotlin委托机制使用方式和原理
android·开发语言·kotlin
码上飞扬1 小时前
Java大师成长计划之第35天:未来展望与个人总结
java·开发语言
异常君2 小时前
深入理解 Java Stream.reduce()方法:原理解析与实战应用
java
啊阿狸不会拉杆2 小时前
《软件工程》实战— 在线教育平台开发
java·vue.js·软件工程·团队开发