flutter android Webview 打开网页错误ERR_CLEARTEXT_NOT_PERMITTED 、 net:ERR_CACHE_MISS

当你在Flutter应用中尝试打开一个非安全连接的网页(例如HTTP连接而不是HTTPS连接)时,可能会遇到"ERR_CLEARTEXT_NOT_PERMITTED"错误。这是因为默认情况下,Android 9及更高版本禁止应用程序通过非安全的明文HTTP连接进行网络通信。

为了解决这个问题,你可以采取以下三种方法之一:

方法一:使用安全的HTTPS连接

  • 将你的网页迁移到使用HTTPS连接。这是更安全的连接方式,并且不会触发"ERR_CLEARTEXT_NOT_PERMITTED"错误。

方法二:配置网络安全性

  • 在Flutter项目的`android/app/src/main/res`目录下创建xml目录以及名为`network_security_config.xml`的XML文件。

  • 在`network_security_config.xml`文件中添加以下内容:

XML 复制代码
<?xml version="1.0" encoding="utf-8"?>

<network-security-config>

    <base-config cleartextTrafficPermitted="true">

        <trust-anchors>

            <certificates src="system" />

        </trust-anchors>

    </base-config>

</network-security-config>

在`android/app/src/main/AndroidManifest.xml`文件中的`application`标签下添加以下行:

XML 复制代码
android:networkSecurityConfig="@xml/network_security_config"

方案三 `application`标签下添加usesCleartextTraffic

在`android/app/src/main/AndroidManifest.xml`文件中的`application`标签下添加以下行:

XML 复制代码
android:usesCleartextTraffic="true"
  • 保存文件并重新编译Flutter应用。

现在,你的Flutter应用应该可以打开非安全连接的网页了。但请注意,非安全连接(HTTP)可能存在安全风险,因此我们仍然推荐使用HTTPS连接来保护用户数据的安全性。

附加:如果Webview 错误 net:ERR_CACHE_MISS

android/app/src/main/AndroidManifest.xml中加联网权限

<uses-permission android:name="android.permission.INTERNET"/>

创造价值,乐哉分享!776147358

相关推荐
张3蜂几秒前
Flutter macOS 安装文档
flutter·macos
努力努力再努力wz7 分钟前
【QT入门系列】QWidget 六大常用属性详解:windowOpacity、cursor、font、focus、toolTip 与 styleSheet
android·开发语言·数据结构·c++·qt·mysql·算法
撩得Android一次心动11 分钟前
C语言基础笔记3【个人用】
android·c语言·开发语言·笔记
Swuagg15 分钟前
Flutter 架构实践:从 0 到 1 构建智能眼镜应用
flutter·架构
天天开发17 分钟前
Flutter开发者该掌握的iOS隐私审核政策
flutter·ios·cocoa
小离a_a21 分钟前
uniapp小程序封装圆环显示比例数据
android·小程序·uni-app
三少爷的鞋22 分钟前
Android 面试系列:runBlocking 到底该在哪用?
android
DogDaoDao8 小时前
Android 硬件编码器参数完全指南:MediaCodec 深度解析
android·音视频·视频编解码·h264·硬编码·视频直播·mediacodec
JohnnyDeng949 小时前
Android 自定义 View:Canvas 绘图与事件分发深度解析
android
Android小码家13 小时前
Framework之Launcher小窗开发
android·framework·虚拟屏·小窗