Flutter里调用android原生代码

Flutter和原生交互时通过插件的方式执行的,主要是通过MethodChannel这个类实现的,具体方法如下:

第一步:

先在flutter代码中生命MethodChannel和要调用的方法:需要注意的时异步调用呃,你可以自己指定返回的数据类型,在native端返回对应的类型就好了。


flutter代码

第二步:在android代码中注册插件

我们先自己声明一个类,来封装交互的方法:


kotlin代码

然后在activity里注册这个插件:


注册插件

这里要说明一下,网上有些文章比较老,比较坑,用 的方法还是getFlutterView,在新版本已经没有这个方法了,使用上图中的flutterEngine?.dartExecutor?.binaryMessenger这个对象来代替,希望大家注意一下。

调用结果:


调用结果
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。