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