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 源码解析

Flutter通过MethodChannel实现Flutter 与Android iOS 的双向通信

VMWare的三种网络连接方式