Flutter 与鸿蒙原生交互二
Flutter 与鸿蒙原生交互二
flutter 有三种基础的通道
MethodChannel:主要方式,调用原生方法并接收返回值,适合一次性调用。
EventChannel:事件流/数据流的持续通信,如监听传感器数据。
BasicMessageChannel:传递 字符串或二进制信息,适合 双向通信、快速连续传递简单数据。
BasicMessageChannel(双向通道)
1.flutter 端代码
创建 BasicMessageChannel 通道
调用平台创建方法接收回调参数
复制代码
2.ohos 端代码
继承 FlutterPlugin 实现 onAttachedToEngine 方法
创建 BasicMessageChannel 实例(名字需要与 flutter 端保持一致)
onMessage 回调中监听回调方法
reply 回传参数
复制代码
EventChannel(事件监听)
1.flutter 端代码
创建 MethodChannel 通道
调用平台创建方法接收回调参数
复制代码
2.ohos 端代码
继承 FlutterPlugin 实现 onAttachedToEngine 方法
创建 EventChannel 实例(名字需要与 flutter 端保持一致)
设置 eventSink
使用 eventSink 发送数据到 flutter 层
复制代码
发送数据
复制代码
版权声明: 本文为 InfoQ 作者【flfljh】的原创文章。
原文链接:【http://xie.infoq.cn/article/3a8ad16a5ecd6a2c0c6165aae】。文章转载请联系作者。
评论