EventChannel,用于Android原生事件流向Flutter端的发送,例如通过原生监听重力感应等状态变化后向Flutter发送通知,一对多通知,类似于原生广播
原生端实现代码:
1.实现EventChannel:单例类,通过sendEventData通知Flutter
package com.example.flutter_event_channel_plugin;
import android.util.Log;
import androidx.annotation.NonNull;
import io.flutter.embedding.engine.plugins.FlutterPlugin;
import io.flutter.plugin.common.EventChannel;
public class FlutterEventChannel implements FlutterPlugin, EventChannel.StreamHandler {
public static final String CHANNEL_NAME = "event_channel_name";
private EventChannel eventChannel;
private EventChannel.EventSink eventSink;
private static volatile FlutterEventChannel instance;
private FlutterEventChannel () {
}
public static FlutterEventChannel getInstance() {
if (instance == null) {
synchronized (FlutterEventChannel .class) {
if (instance == null) {
instance = new FlutterEventChannel ()

本文介绍了如何使用Flutter的EventChannel在Android原生代码和Flutter之间进行事件通信。通过创建一个单例类实现EventChannel,监听Android的重力感应等状态变化,并将这些事件通知给Flutter端,实现原生与Flutter的一对多广播通知功能。在Flutter应用的MainActivity中注册通信类,并在Flutter端订阅事件通道,接收到事件后打印输出。
最低0.47元/天 解锁文章
1044

被折叠的 条评论
为什么被折叠?



