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

相关推荐
计蒙不吃鱼2 小时前
一篇文章实现Android图片拼接并保存至相册
android·java·前端
LucianaiB3 小时前
如何做好一份优秀的技术文档:专业指南与最佳实践
android·java·数据库
duwei_wang8 小时前
[Android]-Admob配置过多导致的慢消息
android
雨白9 小时前
发送自定义广播
android
方文_9 小时前
flutter~loading效果
flutter
雨白9 小时前
深入理解广播机制 (BroadcastReceiver)
android
唯有选择10 小时前
让你的应用界面好看的基石:Flutter主题Theme使用和扩展自定义字段
前端·flutter
婵鸣空啼13 小时前
GD图像处理与SESSiON
android
sunly_14 小时前
Flutter:导航固定背景图,滚动时导航颜色渐变
android·javascript·flutter
用户20187928316715 小时前
简单了解android.permission.MEDIA_CONTENT_CONTROL权限
android