构建第一个ArkTS应用之@卡片事件能力说明

ArkTS卡片中提供了postCardAction()接口用于卡片内部和提供方应用间的交互,当前支持router、message和call三种类型的事件,仅在卡片中可以调用。

接口定义:postCardAction(component: Object, action: Object): void

接口参数说明:

参数名

参数类型

必填

参数描述

component

Object

当前自定义组件的实例,通常传入this。

action

Object

action的具体描述,详情见下表。

action参数说明:

Key

Value

样例描述

"action"

string

action的类型,支持三种预定义的类型:

  • "router":跳转到提供方应用的指定UIAbility。
  • "message":自定义消息。触发后会调用提供方FormExtensionAbility的onFormEvent()生命周期回调。
  • "call":后台启动提供方应用。触发后会拉起提供方应用的指定UIAbility(仅支持launchType为singleton的UIAbility,即启动模式为单实例的UIAbility),但不会调度到前台。提供方应用需要具备后台运行权限(ohos.permission.KEEP_BACKGROUND_RUNNING)。

"bundleName"

string

"router" / "call" 类型时跳转的包名,可选。

"moduleName"

string

"router" / "call" 类型时跳转的模块名,可选。

"abilityName"

string

"router" / "call" 类型时跳转的UIAbility名,必填。

"params"

Object

当前action携带的额外参数,内容使用JSON格式的键值对形式。"call"类型时需填入参数'method',且类型需要为string类型,用于触发UIAbility中对应的方法,必填。

postCardAction()接口示例代码:

Button('跳转')
  .width('40%')
  .height('20%')
  .onClick(() => {
    postCardAction(this, {
      'action': 'router',
      'bundleName': 'com.example.myapplication',
      'abilityName': 'EntryAbility',
      'params': {
        'message': 'testForRouter' // 自定义要发送的message
      }
    });
  })
Button('拉至后台')
  .width('40%')
  .height('20%')
  .onClick(() => {
    postCardAction(this, {
      'action': 'call',
      'bundleName': 'com.example.myapplication',
      'abilityName': 'EntryAbility',
      'params': {
        'method': 'fun', // 自定义调用的方法名,必填
        'message': 'testForCall' // 自定义要发送的message
      }
    });
  })

以下介绍通过卡片事件实现的典型开发场景。

相关推荐

  1. 构建第一ArkTS应用@管理应用拥有的状态概述

    2024-06-09 17:36:05       9 阅读

最近更新

  1. 常用的设计模式

    2024-06-09 17:36:05       0 阅读
  2. 服务器添加TLS域名证书核子之PKCS编解码

    2024-06-09 17:36:05       0 阅读
  3. WDF驱动开发-I/O请求的处理(四)

    2024-06-09 17:36:05       0 阅读
  4. Flask-RQ

    2024-06-09 17:36:05       0 阅读
  5. 《 Python趣味编程 | 从入门到就业》专栏介绍

    2024-06-09 17:36:05       0 阅读
  6. SpaTracker&CoTracker 环境配置

    2024-06-09 17:36:05       0 阅读
  7. oracle中使用临时表GLOBAL TEMPORARY TABLE

    2024-06-09 17:36:05       0 阅读
  8. python调用SDK的问题

    2024-06-09 17:36:05       0 阅读
  9. Python笔记 - 正则表达式

    2024-06-09 17:36:05       0 阅读
  10. 搭建Conda虚拟环境让python程序脚本更干净

    2024-06-09 17:36:05       0 阅读

热门阅读

  1. Vue3图片懒加载封装自定义指令

    2024-06-09 17:36:05       6 阅读
  2. C语言——共用体

    2024-06-09 17:36:05       6 阅读
  3. Docker:镜像命令和容器命令

    2024-06-09 17:36:05       6 阅读
  4. Spring boot SSL证书路径配置

    2024-06-09 17:36:05       8 阅读
  5. MyBatis 延迟加载,一级缓存,二级缓存设置

    2024-06-09 17:36:05       7 阅读
  6. 在 Linux 系统上安装 Android NDK

    2024-06-09 17:36:05       8 阅读
  7. Redis的哨兵机制,一文全解

    2024-06-09 17:36:05       5 阅读
  8. 07.组件间通信-provide-inject(祖孙通信)

    2024-06-09 17:36:05       6 阅读
  9. 常见知识点总结

    2024-06-09 17:36:05       7 阅读
  10. 列表的C++实

    2024-06-09 17:36:05       7 阅读
  11. JZ2440笔记:热插拔驱动

    2024-06-09 17:36:05       5 阅读
  12. 相同的树-力扣

    2024-06-09 17:36:05       8 阅读