> 文档中心 > HarmonyOS/OpenHarmony应用开发-ArkTS语言FA模型FormAbility概述

HarmonyOS/OpenHarmony应用开发-ArkTS语言FA模型FormAbility概述

概述

FormAbility是卡片Ability,是一种界面展示形式。

卡片是一种界面展示形式,可以将应用的重要信息或操作前置到卡片,以达到服务直达,减少体验层级的目的。卡片常用于嵌入到其他应用(当前只支持系统应用)中作为其界面的一部分显示,并支持拉起页面,发送消息等基础的交互功能。卡片使用方负责显示卡片。

卡片的基本概念:

卡片提供方:提供卡片显示内容原子化服务,控制卡片的显示内容、控件布局以及控件点击事件。

卡片使用方:显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。

卡片管理服务:用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。

说明卡片使用方和提供方不要求常驻运行,在需要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。

开发者仅需作为卡片提供方进行卡片内容的开发,卡片使用方和卡片管理服务由系统自动处理。卡片提供方控制卡片实际显示的内容、控件布局以及点击事件。

开发场景

FA卡片开发,即基于FA模型的卡片提供方开发,主要涉及如下功能逻辑:

开发卡片生命周期回调函数LifecycleForm。

创建卡片数据FormBindingData对象。

通过FormProvider更新卡片。

开发卡片页面。

接口说明

卡片生命周期回调函数LifecycleForm的接口如下:

表1 LifecycleForm API接口功能介绍

接口名

描述

onCreate(want: Want): formBindingData.FormBindingData

卡片提供方接收创建卡片的通知接口。

onCastToNormal(formId: string): void

卡片提供方接收临时卡片转常态卡片的通知接口。

onUpdate(formId: string): void

卡片提供方接收更新卡片的通知接口。

onVisibilityChange(newStatus: { [key: string]: number }): void

卡片提供方接收修改可见性的通知接口。

onEvent(formId: string, message: string): void

卡片提供方接收处理卡片事件的通知接口。

onDestroy(formId: string): void

卡片提供方接收销毁卡片的通知接口。

onAcquireFormState?(want: Want): formInfo.FormState

卡片提供方接收查询卡片状态的通知接口。

表2 FormProvider API接口功能介绍

接口名

描述

setFormNextRefreshTime(formId: string, minute: number, callback: AsyncCallback): void;

设置指定卡片的下一次更新时间。

setFormNextRefreshTime(formId: string, minute: number): Promise;

设置指定卡片的下一次更新时间,以promise方式返回。

updateForm(formId: string, formBindingData: FormBindingData, callback: AsyncCallback): void;

更新指定的卡片。

updateForm(formId: string, formBindingData: FormBindingData): Promise;

更新指定的卡片,以promise方式返回。