鸿蒙应用入门级开发者认证实验七(桌面卡片)

举报
黄生 发表于 2025/12/24 20:04:01 2025/12/24
【摘要】 postCardAction 是处理卡片动作的核心函数,作用于卡片(如服务卡片或静态卡片)的交互事件。允许卡片触发预定义的动作类型,实现与提供方应用(如 UIAbility 或 FormExtensionAbility)的通信或跳转。支持三种预定义的动作类型,覆盖了卡片交互的主要场景,例如跳转页面、发送消息或后台操作。router:跳转到提供方应用的指定 UIAbility(用户界面能力)。...

postCardAction 是处理卡片动作的核心函数,作用于卡片(如服务卡片或静态卡片)的交互事件。允许卡片触发预定义的动作类型,实现与提供方应用(如 UIAbility 或 FormExtensionAbility)的通信或跳转。支持三种预定义的动作类型,覆盖了卡片交互的主要场景,例如跳转页面、发送消息或后台操作。

  • router:跳转到提供方应用的指定 UIAbility(用户界面能力)。
  • message:发送自定义消息,触发提供方 FormExtensionAbility 的 onFormEvent() 生命周期回调。适用于卡片与后台的逻辑交互,例如更新卡片数据或处理用户输入。
  • call:后台启动提供方应用,拉起指定的 UIAbility(仅支持启动模式为单实例的 UIAbility)。应用不会调度到前台,通常用于后台任务执行(如数据同步),需应用具备后台运行权限(ohos.permission.KEEP_BACKGROUND_RUNNING)。

关键参数:

  • action(必填):指定动作类型(‘router’、‘message’ 或 ‘call’)。
  • abilityName(可选):用于 ‘router’ 和 ‘call’ 类型,指定目标 UIAbility 的名称。
  • params(可选):JSON 格式的额外参数,用于传递自定义数据(如页面标识或消息内容)。在 ‘call’ 类型中,必须包含 ‘method’ 参数指定调用的方法名。
  • bundleNamemoduleName(可选):用于 ‘router’ 和 ‘call’ 类型,指定目标应用的包名和模块名。
  • uri(API 11+,可选):用于 ‘router’ 类型的深度链接(统一资源标识符)。如果同时设置 uri 和 abilityName,则 abilityName 优先。
postCardAction(this, {
"action": this.ACTION_TYPE, // 假设为 'router'
"abilityName": this.ABILITY_NAME, // 目标 UIAbility 名
"params": {
 'targetPage': 'home' // 自定义参数,在 EntryAbility 中解析并处理
}
});

通过 ‘router’ 动作跳转到目标 UIAbility(如 EntryAbility),params 中的 ‘targetPage’: ‘home’ 是自定义参数,用于在目标 UIAbility 中指定跳转逻辑(如打开首页)。典型场景:例如公交地铁类应用中,用户点击桌面卡片快速跳转至乘车码页面。能高效实现卡片与应用间的无缝交互。

Form(服务卡片)是一种轻量化的应用界面组件,是应用在桌面上提供的一种独立展示单元,允许用户无需打开完整应用即可快速查看关键信息或执行简单操作。占用资源少,独立于主应用运行,通过系统服务管理生命周期。支持定时/事件驱动刷新(如每30分钟更新天气数据)。同一卡片可配置 2×2、2×4、4×4 等网格尺寸,自适应不同设备。支持点击事件(如跳转页面、触发服务)、动态数据绑定等。

  • 声明式开发:通过 ArkUI 的 @Component@Entry 装饰器定义卡片 UI。
  • 数据管理:使用 FormExtensionAbility 处理数据请求与更新逻辑。
  • 卡片配置:在 module.json5 中声明卡片尺寸、更新策略等元数据。

Form 不同于传统应用界面,其设计需遵循信息极简原则,建议通过 @kit.ArkUIFormComponent 实现基础能力,并利用 @kit.FormKit 的卡片管理接口进行动态控制。

【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。