OpenHarmony开发者论坛
标题:
Flutter适配OpenHarmony方案预研——交互
[打印本页]
作者:
诚迈-陆志刚
时间:
2025-2-14 11:28
标题:
Flutter适配OpenHarmony方案预研——交互
Flutter适配OpenHarmony方案预研——交互
(文章已获得诚迈科技资深研发工程师-廖锦锐授权)
前文指路:
[color=var(--hl_color) !important]
Flutter适配OpenHarmony方案预研——创建(上) - 文章 OpenHarmony开发者论坛
[color=var(--hl_color) !important]
Flutter适配OpenHarmony方案预研——创建(下) - 文章 OpenHarmony开发者论坛
Flutter适配OpenHarmony方案预研——集成 - 文章 OpenHarmony开发者论坛
MethodChannel
特性:支持数据双向传递,有返回值。
通信机制:通过MethodChannel,Flutter可以发送方法调用请求到Native端,Native端处理完请求后,可以返回结果给Flutter
EventChannel
特性:单向通信方式,从Native向Flutter发送数据,Flutter无法返回数据给Native
通信机制:Native端通过EventChannel向Flutter发送数据流,Flutter端接收并处理这些数据。
BasicMessageChannel
特性:用于传递字符串和半结构化的信息(如JSON),支持数据双向传递,有返回值。
通信机制:通过BasicMessageChannel,Native和Flutter可以相互发送和接收消息,并可以回复消息。
在flutter端定义MethodChannel 通道
final _platform = const MethodChannel('samples.flutter.dev/battery');
(, 下载次数: 6)
上传
点击文件名下载附件
Harmonyos 端定义同一名称的MethodChannel,并通过onMethodCall 去监听flutter端传来的方法名和数据,处理后result.success(level)回调数据给flutter端
(, 下载次数: 3)
上传
点击文件名下载附件
在flutter端定义BasicMessageChannel 通道
final _basicChannel = const BasicMessageChannel("samples.flutter.dev/basic_channel",StandardMessageCodec());
(, 下载次数: 4)
上传
点击文件名下载附件
Harmonyos 端定义同一名称的BasicMessageChannel,调用setMessageHandler方法,在onMessage方法回调中接收flutter端传来的message数据,通过relpy 回调数据给flutter端
(, 下载次数: 2)
上传
点击文件名下载附件
在flutter端定义EventChannel 通道
final _eventChannel = const EventChannel(‘samples.flutter.dev/event_channel’);
创建流数据监听
(, 下载次数: 2)
上传
点击文件名下载附件
在Harmonyos 端定义同一名称的EventChannel,调用setStreamHandler方法,在调用onListen 通过EventSink 的success 方法,传递数据流给flutter端
(, 下载次数: 2)
上传
点击文件名下载附件
常见问题参考文档
https://gitee.com/openharmony-sig/flutter_flutter
https://gitee.com/openharmony-si ... 6%8C%87%E5%AF%BC.md
https://docs.qq.com/sheet/DVVJDWWt1V09zUFN2?tab=BB08J2
欢迎光临 OpenHarmony开发者论坛 (https://forums.openharmony.cn/)
Powered by Discuz! X3.5