flutter_webview_plugin 无法加载网页的异常处理

字号+ 编辑: 国内TP粉 修订: H波 来源: 简书 2023-09-11 我要说两句(1)

解决一个常见的webview在新版android系统(>=9.0)时发生的问题。同时还有一个ios系统拒绝http页面的问题。

Flutter 本身并未集成webview,所以当需要使用webview 的时候,使用flutter_webview_plugin插件,也就是使用的原生webview组件,

flutter_webview_plugin 在使用过程中会iOS出现无法加载HTTP请求的情况, 但是Flutter 却可以加载HTTP请求。这就与两个的框架有关了,Flutter是独立于UIKit框架的。
解决方案就是在iOS 的info.plist中添加对HTTP的信任。

   <key>NSAppTransportSecurity</key>
    <dict>
        <key>NSAllowsArbitraryLoads</key>
        <true/>
    </dict>

安卓端 9.0之前的系统,使用过程中并未发生异常。 9.0之后,也不支持HTTP,同样也得添加信任

第一步:在清单文件AndroidManifest.xml的application标签里面设置networkSecurityConfig属性如下:

<?xml version="1.0" encoding="utf-8"?><manifest ... >
    <application android:networkSecurityConfig="@xml/network_security_config">
         <!-- ... -->
    </application></manifest>

第二步:在资源文件夹res/xml下面创建network_security_config.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>

阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.Q群: 2702237 13835667

相关课文
  • Invalid prop custom validator check failed for prop navigationBarTextStyle

  • svg是什么文件格式?如何打开svg文件?

  • Cordova报错Could not find an installed version of Gradle either in Android Studio

  • flutter基础名词和简单代码案例

我要说说
网上宾友点评
1 楼 IP 101.254.***.74 的嘉宾 说道 : 1558162799
没用