----------接去年的那篇文章------------
因为项目,我一直绕不过这个坑,最近又开始研究这个问题,之前的方法相当于自己重写Webview,通过MethodChannel来打通原生和Flutter的通信,这样实现的webview肯定还会有许多坑,直到最近下载了flutter_webview_plugin的插件源码,于是我就开始在这个基础上实现之前的功能,方法其实也比较简单,将下载的plugin项目导入原项目,
在主项目的yaml中加入依赖
flutter_webview_plugin:
path: flutter_webview_plugin-0.3.10+1
下面是需要修改的代码:
1.在base.dart文件中模仿onUrlChanged ,增加自己需要监听的方法
2.修改android项目中WebviewManager中的registerJavaScriptChannelNames方法,加入
webView.addJavascriptInterface(
new JavaScriptChannel(FlutterWebviewPlugin.channel,"onShow",platformThreadHandler),"xxx");
3.在JavaScriptChannel中新增自己的方法:
4.在主项目中,添加对show方法的监听
运行项目就可以测试了,flutter的插件现在越来越多,我们可以站在巨人的肩膀上去修改成自己想要的模样。
源码下载:https://download.csdn.net/download/heshangyaohuansu/12229581
网友评论