Flutter webview 安卓端无法访问http资源

sdk: webview_flutter: ^3.0.0

https下官方没有提供http混合访问的接口, 只能强行实现.

  1. 将 webview_flutter_android库拷贝到本地
  2. 修改文件 WebSettingsHostApiImpl.java
  @Override
  public void create(Long instanceId, Long webViewInstanceId) {
    final WebView webView = (WebView) instanceManager.getInstance(webViewInstanceId);
    instanceManager.addInstance(webSettingsCreator.createWebSettings(webView), instanceId);

  /// 添加如下代码
    final WebSettings webSettings = (WebSettings) instanceManager.getInstance(instanceId);
    webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
  }
  1. 添加本地依赖
dependency_overrides:
  # 官方库不允许http访问
  webview_flutter_android:
    path: '../webview_flutter_android-2.8.0'

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容