Flutter与Native交互的方式

Flutter与Native交换主要是使用PlatformChannel功能
PlatformChannel Platformchannle分为三种类型

  • BasicMessageChannel
  • MethodChannel
  • EventChannel
BasicMessageChannel
用于传递数据。Flutter与原生项目的资源是不共享的,可以通过BasicMessageChannel 来获取Native项目的图标等资源
MethodChannel
传递方法调用。Flutter主动调用Native的方法,并获取相应的返回值。比如获取系统电量,发起Toast等系统API,可以通过这个完成。
EventChannel
传递事件。Native将时间通知到Flutter。比如Flutter需要监听网络情况。EventChannel可以将Flutter的一个监听器交给Native,Native去做网络广播的监听,当收到广播之后借助 EventChannel调用Flutter注册的监听,完成对Flutter的事件通知。
具体实现 BasicMessageChannel