我正在开发一个Android应用程序,其中有一个Flutter WebView插件来显示网页.它在我的手机上完美工作(Android 8.1 LG V20).但在我的朋友手机(Android 9小米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,
);
}
}
任何帮助都将不胜感激。
2条答案
按热度按时间vs91vp4v1#
您的朋友之所以看到此错误,是因为作为Android 9及更高版本的标准,连接到
http
域是非法的,Google认为这是不安全的。相反,您有3个选项。
个https
使用站点的
https
变体。不加载
http://window.arian.co.ir
,而是加载https://window.arian.co.ir
退出您的域。
您可以选择退出
window.arian
域的安全检查。创建一个名为
network_security_config.xml
的文件,并将其放在android
文件夹的res/xml/
文件夹中。完全退出
如果需要,您可以通过将
android:usesCleartextTraffic="true"
放在Application
标记上,选择退出对WebView
内所有站点的安全检查。在
android
文件夹中,导航到AndroidManifest.xml
请参阅文档:
63lcw9qa2#
如果以上任何解决方案都不起作用,那么您可以尝试此解决方案