Flutter与Android通信的三种方式
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter与Android通信的三种方式相关的知识,希望对你有一定的参考价值。
参考技术A 一、 MethodChannel主要是flutter端调用android方法。flutter调取android方法,也可以android主动跟flutter通信,但是这个只能是传递数据,不是调方法。MethodChannel的flutter调取android方法,我之前写过,可以查看如下链接, https://www.jianshu.com/p/6b677ff3350e
Android主动跟flutter通信,如下
二、 BasicMessageChannel
它是可以双端通信的,flutter端可以给Android发送消息,Android也可以给Flutter发送消息。
三、EventChannel
只能是原生发送消息给Flutter端,例如监听手机电量变化,网络变化,传感器等。
打印结果如下:
总结一下:
MethodChannel 用于传递方法调用(method invocation),是flutter调取原生方法的,也可以原生主动传递数据给Flutter。
BasicMessageChannel 用于传递字符串和半结构化的信息。是两个端相互发送数据,接收数据的。
EventChannel 用于数据流(event streams)的通信。通长用于Nativie向flutter的通信,如:手机电量变化,网络连接变化,陀螺仪,传感器等;
tip:多种类型的通道混用可能会出现报错问题。
以上是关于Flutter与Android通信的三种方式的主要内容,如果未能解决你的问题,请参考以下文章
Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析
Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析
Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析
Flutter 安卓 Platform 与 Dart 端消息通信方式 Channel 源码解析