Flutter和原生交互时通过插件的方式执行的,主要是通过MethodChannel这个类实现的,具体方法如下:
第一步:
先在flutter代码中生命MethodChannel和要调用的方法:需要注意的时异步调用呃,你可以自己指定返回的数据类型,在native端返回对应的类型就好了。
第二步:在android代码中注册插件
我们先自己声明一个类,来封装交互的方法:
然后在activity里注册这个插件:
这里要说明一下,网上有些文章比较老,比较坑,用 的方法还是getFlutterView,在新版本已经没有这个方法了,使用上图中的flutterEngine?.dartExecutor?.binaryMessenger这个对象来代替,希望大家注意一下。
调用结果: