EventChannel 原生向Flutter传递数据


目的:原生页面主动向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) {

            }
        });

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM