Flutter與Native之間通過Channel進行通信。消息使用Channel在客戶端和主機之間傳遞,且Flutter中消息的傳遞是異步的,如下如所示:
Flutter中定義了三種類型的Channel
- BasicMessageChannel
- MethodChannel
- EventCHannel
BasicMessageChannel
用於傳遞字符串和半結構化的消息,收到消息後可以回覆消息,持續進行通信。
MethodChannel
用於方法調用,是一次性通信。如Flutter調用原生相機相冊等;
EventChannel
用於數據流的通信,也是持續性通信,但收到消息後不能回覆消息。通常用戶原生想Flutter傳遞手機電量變化、網絡連接變化等;