FormExtensionAbility模块提供了卡片扩展相关接口。
说明 :
模块首批接口从API version 9 开始支持。模块接口仅可在Stage模型下使用。
导入模块 :
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
属性:
onAddForm
[]()[]()onAddForm(want: Want): formBindingData.FormBindingData
卡片提供方接收创建卡片的通知接口。
参数名 |
类型 |
必填 |
说明 |
---|
want |
Want |
是 |
当前ExtensionAbility相关的Want类型信息,包括卡片ID、卡片名称、卡片样式等。这些卡片信息必须作为持久数据进行管理,以便后续更新和删除卡片。 |
onCastToNormalForm
[]()[]()onCastToNormalForm(formId: string): void
卡片提供方接收临时卡片转常态卡片的通知接口。
参数名 |
类型 |
必填 |
说明 |
---|
formId |
string |
是 |
请求转换为常态的卡片标识。 |
onUpdateForm
[]()[]()onUpdateForm(formId: string): void
卡片提供方接收更新卡片的通知接口。获取最新数据后调用formProvider的updateForm接口刷新卡片数据。
参数名 |
类型 |
必填 |
说明 |
---|
formId |
string |
是 |
请求更新的卡片ID。 |
onChangeFormVisibility
[]()[]()onChangeFormVisibility(newStatus: { [key: string]: number }): void
卡片提供方接收修改可见性的通知接口。
参数名 |
类型 |
必填 |
说明 |
---|
newStatus |
{ [key: string]: number } |
是 |
请求修改的卡片标识和可见状态。 |
onFormEvent
[]()[]()onFormEvent(formId: string, message: string): void
卡片提供方接收处理卡片事件的通知接口。
参数名 |
类型 |
必填 |
说明 |
---|
formId |
string |
是 |
请求触发事件的卡片标识。 |
message |
string |
是 |
事件消息。 |
onRemoveForm
[]()[]()onRemoveForm(formId: string): void
卡片提供方接收销毁卡片的通知接口。
参数名 |
类型 |
必填 |
说明 |
---|
formId |
string |
是 |
请求销毁的卡片标识。 |
onConfigurationUpdate
[]()[]()onConfigurationUpdate(newConfig: Configuration): void;
当系统配置更新时调用。
onAcquireFormState
[]()[]()onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查询卡片状态通知接口。默认返回卡片初始状态。
参数名 |
类型 |
必填 |
说明 |
---|
want |
Want |
是 |
want表示获取卡片状态的描述。描述包括包名称、能力名称、模块名称、卡片名和卡片维度。 |
接口示例:
import formInfo from '@ohos.app.form.formInfo';
import formBindingData from '@ohos.app.form.formBindingData';
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
import formProvider from '@ohos.app.form.formProvider';
export default class formExtensionAbility extends FormExtensionAbility {
onAddForm(want) {
console.log('FormExtensionAbility onAddForm, want:' + want.abilityName);
let dataObj1 = {
name:"张三",
};
let obj1 = formBindingData.createFormBindingData(dataObj1);
return obj1;
}
onCastToNormalForm(formId) {
console.log('FormExtensionAbility onCastToNormalForm, formId:' + formId);
}
onUpdateForm(formId) {
console.log('FormExtensionAbility onUpdateForm, formId:' + formId);
let obj2 = formBindingData.createFormBindingData({
title: "张三",
});
formProvider.updateForm(formId, obj2).then((data) => {
console.log('FormExtensionAbility context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);
});
}
onChangeFormVisibility(newStatus) {
console.log('FormExtensionAbility onChangeFormVisibility, newStatus:' + newStatus);
let obj2 = formBindingData.createFormBindingData({
temperature: "22c",
time: "22:00"
});
for (let key in newStatus) {
console.log('FormExtensionAbility onChangeFormVisibility, key:' + key + ", value=" + newStatus[key]);
formProvider.updateForm(key, obj2).then((data) => {
console.log('FormExtensionAbility context updateForm, data:' + data);
}).catch((error) => {
console.error('Operation updateForm failed. Cause: ' + error);
});
}
}
onFormEvent(formId, message) {
console.log('FormExtensionAbility onFormEvent, formId:' + formId + ", message:" + message);
}
onRemoveForm(formId) {
console.log('FormExtensionAbility onRemoveForm, formId:' + formId);
}
onConfigurationUpdate(config) {
console.log('onConfigurationUpdate, config:' + JSON.stringify(config));
}
onAcquireFormState(want) {
console.log('FormExtensionAbility onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
}
*附件:HarmonyOSOpenHarmony应用开发-stage模型ArkTS语言FormExtensionAbility.docx