目的:原生页面主动向Flutter页面传递信息
1 flutter步骤
定义EventChannel
static const EventChannel eventChannel = EventChannel("sample.flutter.io/test_event_channel"); //samples 实际使用可以替换为包名。要跟原生对应即可。
覆写initState方法,监听信息传递
@override void initState(){ super.initState(); eventChannel.receiveBroadcastStream().listen(_onEnvent,onError: _onError); } //接收activity传递来的参数obj void _onEnvent(Object obj){ setState(() { }); } void _onError(Object obj){ }
2 原生页面
创建EventChannel,通过setSreamHandler里的EventSink向flutter传递信息
new EventChannel((FlutterView) flutterView,"Event_Channel").setStreamHandler(new EventChannel.StreamHandler() { @Override public void onListen(Object o, EventChannel.EventSink eventSink) { eventSink.success("hello world !"); } @Override public void onCancel(Object o) { } });