簡體   English   中英

Flutter WebView android 上的插件錯誤 9

[英]Flutter WebView Plugin error on android 9

我正在開發一個 android 應用程序,它有一個 Flutter WebView 插件來顯示 web 頁面。 它在我的手機(Android 8.1 LG V20)上完美運行。 但是在我朋友的手機上(Android 9 xiaomi note 7 pro)它顯示了這個錯誤: 網絡視圖錯誤

我的代碼: flutter_webview_plugin: ^0.3.8

 import 'package:flutter/material.dart';
 import 'package:flutter_webview_plugin/flutter_webview_plugin.dart';

 class WebPage extends StatefulWidget {
  final String url;

  WebPage({
    this.url,
  });
  @override
  _WebPageState createState() => _WebPageState();
}

class _WebPageState extends State<WebPage> {
  @override
  void initState() {
    super.initState();
    print('url = ' + widget.url);
  }
  @override
  Widget build(BuildContext context) {
    String link = widget.url;
    return WebviewScaffold(
      url: link,
      appBar: new AppBar(
        centerTitle: true,
        backgroundColor: Colors.green,
      ),
      displayZoomControls: true,
    );
  }
}

任何幫助,將不勝感激。

您的朋友看到此錯誤,因為作為 Android 9 及更高版本的標准,連接到 Google 認為不安全的http域是非法的。
相反,您有 3 個選項。

https

使用您站點的https變體。
而不是加載http://window.arian.co.ir加載https://window.arian.co.ir

選擇退出您的域。

您可以選擇退出window.arian域的安全檢查。

制作一個名為network_security_config.xml的文件,並將其放在android文件夾的res/xml/文件夾中。

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <domain-config cleartextTrafficPermitted="true">
        <domain includeSubdomains="true">window.arian.co.ir</domain>
    </domain-config>
</network-security-config>

完全退出

如果您願意,您可以通過將android:usesCleartextTraffic="true"放在Application標簽上來選擇退出WebView內所有站點的安全檢查。

在您的android文件夾中導航到AndroidManifest.xml

<application
        android:name="io.flutter.app.FlutterApplication"
        android:icon="@mipmap/ic_launcher"
        android:usesCleartextTraffic="true">

請參閱文檔:

如果上述任何解決方案不起作用,那么您可以試試這個

            javascriptMode: JavascriptMode.disabled,

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM