----------接去年的那篇文章------------
? 因為項目,我一直繞不過這個坑,最近又開始研究這個問題,之前的方法相當(dāng)于自己重寫Webview,通過MethodChannel來打通原生和Flutter的通信,這樣實現(xiàn)的webview肯定還會有許多坑,直到最近下載了flutter_webview_plugin的插件源碼,于是我就開始在這個基礎(chǔ)上實現(xiàn)之前的功能,方法其實也比較簡單,將下載的plugin項目導(dǎo)入原項目,

在主項目的yaml中加入依賴
flutter_webview_plugin:
path: flutter_webview_plugin-0.3.10+1
下面是需要修改的代碼:
1.在base.dart文件中模仿onUrlChanged ,增加自己需要監(jiān)聽的方法
2.修改android項目中WebviewManager中的registerJavaScriptChannelNames方法,加入
webView.addJavascriptInterface(
new JavaScriptChannel(FlutterWebviewPlugin.channel,"onShow",platformThreadHandler),"xxx");
3.在JavaScriptChannel中新增自己的方法:

4.在主項目中,添加對show方法的監(jiān)聽

運行項目就可以測試了,flutter的插件現(xiàn)在越來越多,我們可以站在巨人的肩膀上去修改成自己想要的模樣。
源碼下載:https://download.csdn.net/download/heshangyaohuansu/12229581