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

//*/

相关推荐
又是忙碌的一天9 小时前
Java IO流
java·开发语言
程序员buddha9 小时前
springboot-mvc项目示例代码
java·spring boot·mvc
LSL666_9 小时前
5 Repository 层接口
android·运维·elasticsearch·jenkins·repository
不懂英语的程序猿10 小时前
【Java 工具类】Java通过 TCP/IP 调用斑马打印机(完整实现)
java
多多*11 小时前
分布式系统中的CAP理论和BASE理论
java·数据结构·算法·log4j·maven
sg_knight12 小时前
Docker 实战:如何限制容器的内存使用大小
java·spring boot·spring·spring cloud·docker·容器·eureka
合作小小程序员小小店12 小时前
web网页开发,在线考勤管理系统,基于Idea,html,css,vue,java,springboot,mysql
java·前端·vue.js·后端·intellij-idea·springboot
alexhilton13 小时前
在Jetpack Compose中创建CRT屏幕效果
android·kotlin·android jetpack
随便叫个啥呢14 小时前
java使用poi-tl模版+vform自定义表单生成word,使用LibreOffice导出为pdf
java·pdf·word
面向星辰14 小时前
扣子开始节点和结束节点
java·服务器·前端