写点什么

Flutter 与鸿蒙原生交互

作者:flfljh
  • 2024-11-05
    湖南
  • 本文字数:616 字

    阅读完需:约 2 分钟

Flutter 与鸿蒙原生交互

一.MethodChannel

1.flutter 端代码


  • 创建 MethodChannel 通道

  • 调用平台创建方法接收回调参数


//创建通道 自定义通道名字 flutter.ohos.example/testfinal _platform = const MethodChannel('flutter.ohos.example/test');
//调用 平台创建的方法接收回调final result = await _platform.invokeMethod<String>('getTestString');
复制代码


2.ohos 端代码


  • 继承 FlutterPlugin 实现 onAttachedToEngine 方法

  • 创建 MethodChannel 实例(名字需要与 flutter 端保持一致)

  • onMethodCall 回调中监听回调方法(名字需要与 flutter 端保持一致)

  • 通过 MethodResult 回传参数


export default class TestPlugin implements FlutterPlugin {// 继承FlutterPlugin  private channel?: MethodChannel;    onAttachedToEngine(binding: FlutterPluginBinding): void {  // 创建通道实例    this.channel = new MethodChannel(binding.getBinaryMessenger(), "flutter.ohos.example/test");    // 设置回调,调用具体的实现和传统flutter方法一致    this.channel.setMethodCallHandler({      onMethodCall(call: MethodCall, result: MethodResult) {        switch (call.method) {          case "getTestString":              //回调数据到flutter监听层            result.success("test string");            break;          default:            result.notImplemented();            break;        }      }    })  }}
复制代码


发布于: 刚刚阅读数: 5
用户头像

flfljh

关注

还未添加个人签名 2024-10-29 加入

还未添加个人简介

评论

发布
暂无评论
Flutter与鸿蒙原生交互_鸿蒙_flfljh_InfoQ写作社区