我添加了pubspec.yaml webview_flutter: ^0.3.19+8
我使用Flutter版本1.12.13 + hotfix.8
这是我的代码
import 'package:webview_flutter/webview_flutter.dart';
void main() => runApp(MaterialApp(
home: app(),
));
class app extends StatefulWidget {
@override
_appState createState() => _appState();
}
class _appState extends State<app> {
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('App mobile'),
),
body: Container(
constraints: BoxConstraints(maxHeight: 500),
child: WebView(
initialUrl: "https://google.com",
),
)
);
}
}
但运行后,在white
仿真器屏幕中单击,在运行选项卡中,我有这个...
E/flutter ( 9570): [ERROR:flutter/lib/ui/ui_dart_state.cc(157)] Unhandled Exception: PlatformException(error, java.lang.IllegalStateException: Sending touch to an unknown view with id: 1
E/flutter ( 9570): at io.flutter.plugin.platform.PlatformViewsController$1.onTouch(PlatformViewsController.java:206)
E/flutter ( 9570): at io.flutter.embedding.engine.systemchannels.PlatformViewsChannel$1.touch(PlatformViewsChannel.java:168)
...
我将不胜感激...
答案 0 :(得分:0)
我使用了此功能,并且可以正常使用,我想您错过了使用controller
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class WebViewScreen extends StatefulWidget {
final String title;
final String selectedUrl;
WebViewScreen({@required this.title, @required this.selectedUrl});
@override
_WebViewScreenState createState() => _WebViewScreenState();
}
class _WebViewScreenState extends State<WebViewScreen> {
Completer<WebViewController> _controller = Completer<WebViewController>();
bool isLoading = true;
@override
void initState() {
super.initState();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: WebView(
initialUrl: widget.selectedUrl,
onWebViewCreated: (WebViewController webViewController) {
_controller.complete(webViewController);
},
),
);
}
}
答案 1 :(得分:-1)
如果您在发布模式下遇到此错误,请检查您的清单文件中的“android.permission.INTERNET”权限。