Flutter与Native的通信场景:
1.Flutter Module <---- init Params ----Native Module
2.Flutter Module <---- ---- Native Module
3.Flutter Module ---- > Native Module
4.Flutter Module <---- > Native Module
Flutter与Native通信机制:MethodChannel.
所谓“平台特定”或“特定平台”,平台指的就是指Flutter运行的平台,如Android或IOS,可以认为就是应用的原生部分。所以,平台通道正是Flutter和原生之间通信的桥梁,它也是Flutter插件的底层基础设施。
Flutter使用了一个灵活的系统,允许您调用特定平台的API,无论在Android上的Java或Kotlin代码中,还是iOS上的ObjectiveC或Swift代码中均可用。
Flutter与原生之间的通信依赖灵活的消息传递方式:
- 应用的Flutter部分通过平台通道(platform channel)将消息发送到其应用程序的所在的宿主(iOS或Android)应用(原生应用)。
- 宿主监听平台通道,并接收该消息。然后它会调用该平台的API,并将响应发送回客户端,即应用程序的Flutter部分。
使用平台通道在Flutter(client)和原生(host)之间传递消息,如下图所示: