问题描述
我正在用flutter集成Webview,有两个选项,第一个是使用MethodChannel,第二个是使用WebView小部件,在我的webview中,当我在flutter中进行集成时,我有一个步进器可在路线之间导航WebViewController和WebView小部件可以实现这种导航,但是由于X的原因,我需要使用MethodChannel实现相同的导航。问题是,有什么办法吗?我要控制的是后退按钮的网页视图。
使用MethodChannel启动Webview的功能
static void openWebActivity(String url,String title,{String token}) async {
const platform = const MethodChannel("native_interaction");
try {
await platform.invokeMethod(
"startWebActivity",{"url": url,"title": title,"token": token});
} on PlatformException catch (e) {
print(e.message);
}
}
带有WebView小部件的Webview
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';
class SiniestroWebView extends StatefulWidget {
final String uri;
SiniestroWebView(this.uri);
@override
_SiniestroWebViewState createState() => _SiniestroWebViewState();
}
WebViewController controllerGlobal;
class _SiniestroWebViewState extends State<SiniestroWebView> {
@override
Widget build(BuildContext context) {
return new WillPopScope(
onWillPop: _goBack,child: new Scaffold(
body: new SafeArea(
child: new WebView(
initialUrl: widget.uri,javascriptMode: JavascriptMode.unrestricted,onWebViewCreated: (WebViewController webViewController) {
controllerGlobal = webViewController;
},),);
}
Future<bool> _goBack() async {
var value = await controllerGlobal.canGoBack();
if (value) {
print("onwill goback");
controllerGlobal.goBack();
return Future.value(false);
} else {
return Future.value(true);
}
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)