FlutterAndroid技术分享

Flutter webview 问题收录

2021-01-11  本文已影响0人  Air_w

关键词:

Flutter webview 加载Https+Http的访问地址(访问文件、访问图片)

如果遇到Flutter webview无法访问地址、无法访问文件、无法访问图片,请按照下列步骤一一排查:

1、安卓端 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>

2、iOS在某系统以上后默认不支持Http请求(为xx安全考虑)

如需支持http,需添加:

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

3、在Android5.0 以及以上的系统,当WebView加载的链接为Https开头,但是链接里面的内容,比如图片为Http链接,这时候,图片就会加载不出来

原因:

从Android5.0开始,WebView默认不支持同时加载Https和Http混合模式。
请检查,项目是否有下列的代码,如果没有,请加上

webView.getSettings().setMixedContentMode(webView.getSettings().MIXED_CONTENT_ALWAYS_ALLOW)


上一篇下一篇

猜你喜欢

热点阅读