鸿蒙开发接口Ability框架:【@ohos.application.FormExtension (FormExtension)】

embedded/2024/9/25 0:29:53/

 FormExtension

FormExtension模块提供了FormExtension卡片扩展相关接口。

说明:

本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
本模块接口仅可在Stage模型下使用。

导入模块

import FormExtension from '@ohos.application.FormExtension';

权限

属性

系统能力:SystemCapability.Ability.Form

名称参数类型可读可写说明
contextFormExtensionContextFormExtension的上下文环境,继承自ExtensionContext。

鸿蒙开发>鸿蒙开发指导文档:gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md点击或者复制转到。

onCreate

onCreate(want: Want): formBindingData.FormBindingData

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

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
wantWant当前Extension相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。

返回值:

类型说明
formBindingData.FormBindingData一个formBindingData.FormBindingData对象,卡片要显示的数据。

示例:

import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {onCreate(want) {console.log('FormExtension onCreate, want:' + want.abilityName);let dataObj1 = {temperature:"11c","time":"11:00"};let obj1 = formBindingData.createFormBindingData(dataObj1);return obj1;}
}

FormExtension.onCastToNormal

onCastToNormal(formId: string): void

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

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
formIdstring请求转换为常态的卡片ID。

示例:

export default class MyFormExtension extends FormExtension {onCastToNormal(formId) {console.log('FormExtension onCastToNormal, formId:' + formId);}
}

FormExtension.onUpdate

onUpdate(formId: string): void

卡片提供方接收更新卡片的通知接口。获取最新数据后调用FormExtensionContext的updateForm接口刷新卡片数据。

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
formIdstring请求更新的卡片ID。

示例:

import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {onUpdate(formId) {console.log('FormExtension onUpdate, formId:' + formId);let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});this.context.updateForm(formId, obj2).then((data)=>{console.log('FormExtension context updateForm, data:' + data);}).catch((error) => {console.error('Operation updateForm failed. Cause: ' + error);});}
}

FormExtension.onVisibilityChange

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

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

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
newStatus{ [key: string]: number }请求修改的卡片ID和可见状态。

示例:

  import formBindingData from '@ohos.application.formBindingData'
export default class MyFormExtension extends FormExtension {onVisibilityChange(newStatus) {console.log('FormExtension onVisibilityChange, newStatus:' + newStatus);let obj2 = formBindingData.createFormBindingData({temperature:"22c", time:"22:00"});for (let key in newStatus) {console.log('FormExtension onVisibilityChange, key:' + key + ", value=" + newStatus[key]);this.context.updateForm(key, obj2).then((data)=>{console.log('FormExtension context updateForm, data:' + data);}).catch((error) => {console.error('Operation updateForm failed. Cause: ' + error);});}}
}

FormExtension.onEvent

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

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

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
formIdstring请求触发事件的卡片ID。
messagestring事件消息。

示例:

export default class MyFormExtension extends FormExtension {onEvent(formId, message) {console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);}
}

FormExtension.onDestroy

onDestroy(formId: string): void

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

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
formIdstring请求销毁的卡片ID。

示例:

export default class MyFormExtension extends FormExtension {onDestroy(formId) {console.log('FormExtension onDestroy, formId:' + formId);}
}

FormExtension.onConfigurationUpdated

onConfigurationUpdated(config: Configuration): void;

当系统配置更新时调用。

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
configConfiguration表示需要更新的配置信息。

示例:

class MyFormExtension extends FormExtension {onConfigurationUpdated(config) {console.log('onConfigurationUpdated, config:' + JSON.stringify(config));}
}

FormExtension.onAcquireFormState

onAcquireFormState?(want: Want): formInfo.FormState;

卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。

系统能力:SystemCapability.Ability.Form

参数:

参数名类型必填说明
wantWantwant表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。HarmonyOS与OpenHarmony鸿蒙文档籽料:mau123789是v直接拿

搜狗高速浏览器截图20240326151450.png


示例:

import formInfo from '@ohos.application.formInfo'
class MyFormExtension extends FormExtension {onAcquireFormState(want) {console.log('FormExtension onAcquireFormState, want:' + want);return formInfo.FormState.UNKNOWN;}
}

鸿蒙Next核心技术分享

1、鸿蒙基础知识←《鸿蒙NEXT星河版开发学习文档》

2、鸿蒙ArkUI←《鸿蒙NEXT星河版开发学习文档》

3、鸿蒙进阶技术←《鸿蒙NEXT星河版开发学习文档》

 4、鸿蒙就业高级技能←《鸿蒙NEXT星河版开发学习文档》 

 5、鸿蒙多媒体技术←《鸿蒙NEXT星河版开发学习文档》 

6、鸿蒙南向驱动开发←《鸿蒙NEXT星河版开发学习文档》  

7、鸿蒙南向内核设备开发←《鸿蒙NEXT星河版开发学习文档》  

 8、鸿蒙系统>鸿蒙系统裁剪与移植←《鸿蒙NEXT星河版开发学习文档》  


http://www.ppmy.cn/embedded/35041.html

相关文章

【数据分析面试】36.SAAS公司邮件营销策略分析(业务分析)

题目 假设你在一个B2B SAAS公司营销团队工作。本季度即将结束,但当前收入距离预期目标还差10%。营销团队的一个高管要求负责电子邮件营销的人向所有客户群发邮件,要求他们购买更多产品。这是个好主意吗?为什么? 提示1&#xff1…

学习嵌入式可以胜任哪一些行业?

学习嵌入式究竟可以在哪些行业中胜任呢?嵌入式技术的应用范围极为广泛,在众多领域中都发挥着至关重要的作用,这也为学习嵌入式的人提供了极为丰富的职业机会。 就拿机器人行业来说吧,嵌入式技术是机器人能够实现各种复杂功能的关…

面试中算法(使用栈实现队列)

使用栈来模拟一个队列,要求实现队列的两个基本操作:入队、出队。 栈的特点:先入后出,出入元素都是在同一端(栈顶)。 队列的特点:先入先出,出入元素是在两端(队头和队尾)。 分析&…

深度学习简介

什么是深度学习 机器学习是实现人工智能的一种途径 深度学习是机器学习的一个子集,也就是说深度学习是实现机器学习的一种方法。 传统机器学习算术依赖人工设计特征,并进行特征提取,而深度学习方法不需要人工,而是依赖算法自动提…

什么是X电容和Y电容?

先补充个知识: 一、什么是差模信号和共模信号 差模信号:大小相等,方向相反的交流信号;双端输入时,两个信号的相位相差180度 共模信号:大小相等。方向相同。双端输入时,两个信号相同。 二、安规…

【图像特征点匹配】

图像特征点匹配 图像特征点匹配是计算机视觉中的一项关键技术,它涉及在两个或多个图像之间寻找并匹配具有独特属性的点,这些点被称为特征点。 立体视觉:通过匹配同一场景的不同视角图像中的特征点,可以重建场景的三维结构。物体识别:通过匹配物体表面的特征点,可以识别和…

Linux Mint 21.3 “Virginia“ 简介

Linux Mint 21.3 "Virginia" 是Linux Mint项目发布的最新版本,这个版本基于Ubuntu 22.04 LTS(Jammy Jellyfish),并提供了三个主要的桌面环境:Cinnamon、MATE和Xfce。每个桌面环境都有其独特的特点和优势&…

深度学习中的归一化:BN,LN,IN,GN的优缺点

目录 深度学习中归一化的作用常见归一化的优缺点 深度学习中归一化的作用 加速训练过程 归一化可以加速深度学习模型的训练过程。通过调整输入数据的尺度,归一化有助于改善优化算法的收敛速度。这是因为归一化后的数据具有相似的尺度,使得梯度下降等优化…