You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Android网页视图客户端在私有DNS启用时无法加载URL。

如果您的应用程序使用了Webview来加载URL,同时出现“ERR_CLEARTEXT_NOT_PERMITTED”错误或无法加载URL的问题,那么您的应用程序可能是由于私有DNS而出现的问题。为了解决这个问题,您可以尝试在您的应用程序中添加以下代码:

if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.P) {
    // Set private DNS for devices running Android 9 or higher
    final String PRIVATE_DNS_MODE_OFF = "off";
    final String PRIVATE_DNS_MODE_OPPORTUNISTIC = "opportunistic";
    final String PRIVATE_DNS_MODE_STRICT = "strict";
    final String PRIVATE_DNS_KEY = "private_dns_mode";
    final String PRIVATE_DNS_MODE_PROVIDERS = "private_dns_providers";
    final String PRIVATE_DNS_MODE_PROVIDER_HOSTNAME = "private_dns_provider_hostname";
    final String PRIVATE_DNS_DEFAULT_MODE = PRIVATE_DNS_MODE_STRICT;
    final String PRIVATE_DNS_CLOUDFLARE_PROVIDER_HOSTNAME = "1dot1dot1dot1.cloudflare-dns.com";
    final String[] PRIVATE_DNS_MODES = new String[]{PRIVATE_DNS_MODE_OFF, PRIVATE_DNS_MODE_OPPORTUNISTIC, PRIVATE_DNS_MODE_STRICT};

    // Set DNS mode to strict
    SystemProperty.set(PRIVATE_DNS_KEY, PRIVATE_DNS_MODE_STRICT);

    // Set DNS provider
    final Bundle bundle = new Bundle();
    bundle.putString(PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, PRIVATE_DNS_CLOUDFLARE_PROVIDER_HOSTNAME);
    final String[] providers = new String[]{PRIVATE_DNS_CLOUDFLARE_PROVIDER_HOSTNAME};
    bundle.putStringArray(PRIVATE_DNS_MODE_PROVIDERS, providers);
    webView.getWebView().getSettings().setPrivateBrowsingEnabled(true);
    webView.getWebView().getSettings().setPrivateDnsEnabled(true);
    webView.getWebView().getSettings().setUseWideViewPort(true);
    webview.getSettings().setLoadWithOverviewMode(true);
}

以上代码将启用私有DNS,并将其设置为“严格”模式,并将DNS提供程序设置为Cloudflare。您可以根据您自己的需要轻松更改它。

本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS 60元/年,域名1元起,助力开发者快速在云上构建可靠应用

社区干货

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文

> Android 诞生已久,其开发方式保持着高频更迭,相较于早期的开发方式已大不相同,尤其是近几年 Google 热切推崇的 MAD 开发技术。> > **其实很多开发者已经有意或无意地正在使用这门技术,借着 2023 开年探讨技术趋... 旨在指导我们利用官方推出的各项技术来进行高效的 App 开发。有的时候 Google 会将其翻译成`现代安卓开发`,有的时候又翻译成`新式安卓开发`,个人觉得前者的翻译虽然激进、倒也贴切。下面按照 MAD 的构成要点逐步...

我与 Android 的故事|社区征文

### 1.项目概要:```本文主要记录我本人从事移动开发的工作,作为一名Android工程师的职场故事,从一名入门小白,成为一名中高级工程师的心路例程,帮助自己回望过去展望未来。```### 2.Android初识```2015年,... 有次听到朋友讲起Android系统,很多国产智能手机的操作系统便是Android(安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司...

借助 MAD 助力你的 Android 应用开发|社区征文

它的优势这主要体现在以下几点:- **可以信赖**:汇聚 Google 在 Android 行业十余年的前沿开发经验- **入门友好**:提供大量 Demo 和参考文档,适用于不同阶段不同规模的项目- **高效启动**:通过 Jeptack 可... 为跨应用切换或应用内页面间的切换提供了一致的用户体验,并且提供了各种优势,包括:- 处理 Fragment 事务;- 默认情况下,正确处理往返操作;- 为动画和转场提供标准化资源;- 实现和处理深层链接;- 包括...

Pulsar 在云原生消息引擎领域为何如此流行?| 社区征文

可跨机房在集群间无缝地完成消息复制。 - 极低的发布延迟和端到端延迟。 - 可无缝扩展到超过一百万个 topic。 - 简单的客户端 API,支持 Java、Go、Python 和 C++。 - 主题的多种订阅模式(独占、共享和故障转移... 如果批处理开启,producer 将会累积一批消息,然后通过一次请求发送出去。批处理的大小取决于最大的消息数量及最大的发布延迟。#### 3.2.5 Chunking(分块) - 批处理和分块不能时启用。启用分块,必须提前禁用批...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

Android网页视图客户端在私有DNS启用时无法加载URL。-优选内容

WebView
加载请求。 前提条件在控制台 添加需要解析的域名。 导入和初始化 SDK。 警告 对于没有在控制台添加的域名,HTTPDNS 服务端的解析会失败,您只能获得 Local DNS 服务器的解析结果。参见 添加需要解析的域名了解如何... 不能拦截带有 body 的请求。如果您的请求带有 body,body 会丢失。 您的 app 的 Android API 等级需要大于或等于 21。如果 API 等级小于 21,shouldInterceptRequest 无法正常拦截请求。 java String targetUrl = "...
MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文
> Android 诞生已久,其开发方式保持着高频更迭,相较于早期的开发方式已大不相同,尤其是近几年 Google 热切推崇的 MAD 开发技术。> > **其实很多开发者已经有意或无意地正在使用这门技术,借着 2023 开年探讨技术趋... 旨在指导我们利用官方推出的各项技术来进行高效的 App 开发。有的时候 Google 会将其翻译成`现代安卓开发`,有的时候又翻译成`新式安卓开发`,个人觉得前者的翻译虽然激进、倒也贴切。下面按照 MAD 的构成要点逐步...
最新动态(2024年前)
客户端实验:实验调试状态中,不允许关闭开关;在运行中的状态下修改实验,开关默认不能修改;调整组间流量后,开关可以修改。 服务端实验:需在实验创建、运行中修改开关时,需完成完成相关的开发。 另,服务端实验开启后... 推送实验设置实验版本页和分群相关页面dprc升级 【推送运营】:频控优化&事件筛选去除预置事件 【推送运营】:推送任务报表优化 【推送运营】:FCM-android/iOS-到达数据修正 2022年01月13日 1.9.28版本 功能: 系统管...
Android SDK 集成方案概述
DnsClearText,SDK 会根据 enableHttpDnsClearText 的设置向 HTTPDNS 服务端发送 HTTPS 请求或 HTTP 请求。HTTPS 请求与 HTTP 请求的计费不同。参见 计费说明。 网络库 推荐集成方案 方案限制 参考文档 OkHttp 或 Retrofit 通过 OkHttpClient.Builder().dns() 注入 HTTPDNS 的解析方法。 无 OkHttp 或 Retrofit HttpURLConnection 手动将请求改写成 IP 直连请求。 App 开启代理时,如果代理无法读取 Host header,您无法...

Android网页视图客户端在私有DNS启用时无法加载URL。-相关内容

Android SDK 集成方案概述

DnsClearText,SDK 会根据 enableHttpDnsClearText 的设置向 HTTPDNS 服务端发送 HTTPS 请求或 HTTP 请求。HTTPS 请求与 HTTP 请求的计费不同。参见 计费说明。 网络库 推荐集成方案 方案限制 参考文档 OkHttp 或 Retrofit 通过 OkHttpClient.Builder().dns() 注入 HTTPDNS 的解析方法。 无 OkHttp 或 Retrofit HttpURLConnection 手动将请求改写成 IP 直连请求。 App 开启代理时,如果代理无法读取 Host header,您无法...

Android

本文档介绍火山引擎移动解析(HTTPDNS)的客户端 Android SDK 版本说明。 1.0.24该版本发布于 2024 年 4 月 16 日。 新增功能自该版本起,SDK 可以按照您在 enableHttpDnsClearText 中的设置向 HTTPDNS 服务端发送 HT... 端的最佳 IP 地址,并向该 IP 地址通过 HTTP 协议发送 DNS 查询请求,从而节省了 HTTPDNS 服务端域名的 DNS 解析耗时。 说明 该功能处于公测阶段,目前默认关闭。如果您希望体验该功能,可以 提交工单 联系我们开启该功...

客户端 SDK

时从指定的私有目录动态加载所需的 .so 文件,从而减小 App 的安装包体积。如需动态加载 .so 文件,参看按需集成插件。 该版本提供 SAMI 音频技术动态库插件、VP8 编解码插件、AAC 软件编解码插件、APM 稳定性监控插... 客户端字幕翻译功能新增支持同时显示原文和译文字幕。 新增了 onActiveVideoLayer 回调。在使用自定义视频编解码功能时,发送端可以根据此回调,按需编码,节约编码消耗的性能资源。 功能简述 Android iOS macOS W...

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

新功能发布记录

(HTTPDNS)升级客户端 SDK 在 1.0.24 版本,HTTPDNS Android SDK 可以根据您的配置向 HTTPDNS 服务端发送 HTTP 或 HTTPS 请求。 在 0.16.7 版本,HTTPDNS iOS SDK 可以根据您的配置向 HTTPDNS 服务端发送 HTTP 或 HTTPS 请求。 在 0.16.7 版本,HTTPDNS iOS SDK 删除了 TTHttpMnetURLProtocol 接口。自 0.16.7 版本起,SDK 不再支持基于 MNet Protocol 的集成方案。 2024 年 4 月 16 日 全部 Android iOS 火山引擎移动解析(HTTPD...

WKWebView

方案描述如果您的 app 使用了 WKWebView,您可以: 通过 WKWebView 的私有 API 注册 scheme,保证 NSURLProtocol 可以拦截 WKWebView 中的请求。 根据您使用的网络库类型创建请求。 使用 WKWebView.loadRequest 加载请求。 前提条件在控制台 添加需要解析的域名。 导入和初始化 SDK。 警告 对于没有在控制台添加的域名,HTTPDNS 服务端的解析会失败,您只能获得 Local DNS 服务器的解析结果。参见 添加需要解析的域名了解如何添加域名...

集成指南

兼容性 类别 兼容范围 系统 最低支持Android 4.4 以上版本,API LEVEL 19 架构 armeabi-v7a,arm64-v8a 网络 支持移动数据与 WiFi 两种网络环境 集成方式 从 2023 年 4 月 20 日开始,Android 端组件迁移到了新的 maven 仓库。从 2023 年 9 月 15 日开始,流式识别组件名称更改为speechengine_asr_tob Maven仓库新仓库如果您是第一次接入 SDK,或想要使用最新的 SDK 版本。使用如下仓库。 maven { url "https://artifact.bytedance...

HTTPDNS策略操作指南

HTTPDNS 是面向多端应用(移动端 APP 和 PC 客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。集成 veImageX 客户端 SDK 后在 Android 和 iOS端可以快速启用 HTTPDNS。 说明 HTTPDNS 为付... 端应用使用 HTTPDNS 客户端 SDK 向服务端发起域名解析,在使用 SDK 前,您必须在 SDK 中配置您账号下移动解析 HTTPDNS 的鉴权密钥。 HTTPDNS 配置下发登录 veImageX 控制台,单击SDK配置下发。 在基础配置页面,选择相...

我与 Android 的故事|社区征文

### 1.项目概要:```本文主要记录我本人从事移动开发的工作,作为一名Android工程师的职场故事,从一名入门小白,成为一名中高级工程师的心路例程,帮助自己回望过去展望未来。```### 2.Android初识```2015年,... 有次听到朋友讲起Android系统,很多国产智能手机的操作系统便是Android(安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司...

HttpURLConnection

您需要通过 SNI 将服务端的主机名传递到 SSL/TLS 握手进程。这样,SSL/TLS 握手进程可以生成正确的 SSL/TLS 证书。 注意 App 开启代理时,如果代理无法读取 Host header,您无法将请求改写成 IP 直连请求,这样会导致... 如果请求无法改写成 IP 直连请求,您可以直接通过 HttpURLConnection 发送请求。 前提条件在控制台 添加需要解析的域名。 导入和初始化 SDK。 警告 对于没有在控制台添加的域名,HTTPDNS 服务端的解析会失败,您只能...

特惠活动

热门爆款云服务器

100%性能独享,更高内存性能更佳,学习测试、web前端、企业应用首选,每日花费低至0.55元
60.00/1212.00/年
立即购买

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

云服务器特惠

云服务器
云服务器ECS新人特惠
立即抢购

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

爆款1核2G共享型服务器

首年60元,每月仅需5元,限量秒杀
立即抢购

火山引擎增长体验专区

丰富能力激励企业快速增长
查看详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询