Flutter - EventChannel回调问题

创建EventChannel用来发送状态到flutter端,但是没有走StreamHandler的回调。

onAttachedToEngine(binding: FlutterPluginBinding): void { 
  let context = binding.getApplicationContext() 
  this.context = context 
 
  this.stateChannel = new EventChannel(binding.getBinaryMessenger(), NAMESPACE + '/state') 
  this.stateChannel.setStreamHandler(this) 
 
  this.channel = new MethodChannel(binding.getBinaryMessenger(), NAMESPACE + "/methods"); 
  this.channel.setMethodCallHandler(this) 
} 
 
onListen(_: Any, events: EventSink): void { 
  this.eventSink = events 
} 
 
onCancel(_: Any): void { 
  this.eventSink = null 
}

在初始运行项目时,onListen未触发,热重载flutter之后收到回调,是flutter框架还没弄好吗?

HarmonyOS
13h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
zbw_apple

​需要在ets发送数据,在dart代码中才能收到回调数据。

ets代码:​

this.eventSink?.success("Success at " + new Date());

dart代码:

final EventChannel _eventChannel = const EventChannel('flutter_blue_plus/methods'); 
 
@override 
void initState() { 
  super.initState(); 
  _onReceiveData(); 
} 
  
_onReceiveData() { 
  _eventChannel.receiveBroadcastStream().listen((event) { 
    setState(() { 
      message = "EventChannel event=$event"; 
    }); 
  }); 
}
分享
微博
QQ
微信
回复
7h前
相关问题
HarmonyOS 活体检测问题
45浏览 • 1回复 待解决
HarmonyOS onScrollyoffset不准确问题
318浏览 • 1回复 待解决
HarmonyOS ArkTS接口的案例问题
195浏览 • 1回复 待解决
interface如何调用
838浏览 • 1回复 待解决
Flutter 开发资料相关问题
308浏览 • 1回复 待解决
HarmonyOS Web组件
100浏览 • 1回复 待解决
HarmonyOS 如何声明全局函数
231浏览 • 1回复 待解决
支付成功后没有收到
1692浏览 • 1回复 待解决
焦点事件onBlur/onFocus无法触发
1869浏览 • 1回复 待解决
网络请求后如何进行
910浏览 • 1回复 待解决
lottile动画加载完成不调用
914浏览 • 1回复 待解决
HarmonyOS 组件是否有销毁方法
368浏览 • 1回复 待解决
函数怎么写比较好
1009浏览 • 1回复 待解决
如何为 C++ 提供函数?
2347浏览 • 1回复 待解决
webview静态资源下载完成的
1553浏览 • 1回复 待解决
HarmonyOS ArkTS接口的案例
320浏览 • 1回复 待解决
组件设置visibility属性的
435浏览 • 2回复 待解决
如何实现拍照预览onPreviewFrame
544浏览 • 1回复 待解决
Emitter如何声明函数类型
1709浏览 • 1回复 待解决
WebView页面加载错误能力。
719浏览 • 1回复 待解决