使用MethodChannel与原生程序通信
文章目录
- 1 知识回顾
- 2 示例代码
- 3 经验总结
我们在上一章回中介绍了MethodChannel的使用方法,本章回中将介绍EventChannel的使用方法.闲话休提,让我们一起Talk Flutter吧。
1 知识回顾
我们在前面章回中介绍了通道的概念和作用,并且提到了通道有不同的类型,本章回将其中一种通道:EventChannel.该通道主要通过Stream实现通信功能,该通道
主要用于消息类通信功能,它只能通过原生平台向Flutter程序发送消息,属于单向通信,本章回中将详细介绍它的使用方法。
2 示例代码
通道的使用方法在前面章节已经介绍过,不过比较抽象,我们在这里通过具体的示例代码来演示:
- 在Flutter中创建通道,使用构造方法就可以创建通道,方法的参数最好使用域名/功能名这样的形式,因为在原生代码中会通过该名称获取该通道;
flutterEventChannel = EventChannel("www.acf.com/event");
- 监听通道中的方法或者事件.这里使用通道的receiveBroadcastStream()方法监听通道中的事件,它可以获取到方法的的返回值和错误信息。它本质上是Stream
因此它的使用方法和Stream相同,我们已经介绍过Stream,因此不做详细介绍。
var streamSubscription = flutterEventChannel.receiveBroadcastStream()
.listen