FormExtension
FormExtension模塊提供了FormExtension卡片擴(kuò)展相關(guān)接口。
說(shuō)明:
本模塊首批接口從API version 9開(kāi)始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
本模塊接口僅可在Stage模型下使用。
導(dǎo)入模塊
import FormExtension from '@ohos.application.FormExtension';
權(quán)限
無(wú)
屬性
系統(tǒng)能力 :SystemCapability.Ability.Form
名稱(chēng) | 參數(shù)類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
context | [FormExtensionContext] | 是 | 否 | FormExtension的上下文環(huán)境,繼承自ExtensionContext。 |
鴻蒙開(kāi)發(fā)指導(dǎo)文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
onCreate
onCreate(want: Want): formBindingData.FormBindingData
卡片提供方接收創(chuàng)建卡片的通知接口。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 是 | 當(dāng)前Extension相關(guān)的Want類(lèi)型信息,包括卡片ID、卡片名稱(chēng)、卡片樣式等。這些卡片信息必須作為持久數(shù)據(jù)進(jìn)行管理,以便后續(xù)更新和刪除卡片。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
[formBindingData.FormBindingData] | 一個(gè)formBindingData.FormBindingData對(duì)象,卡片要顯示的數(shù)據(jù)。 |
示例:
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
卡片提供方接收臨時(shí)卡片轉(zhuǎn)常態(tài)卡片的通知接口。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
formId | string | 是 | 請(qǐng)求轉(zhuǎn)換為常態(tài)的卡片ID。 |
示例:
export default class MyFormExtension extends FormExtension {
onCastToNormal(formId) {
console.log('FormExtension onCastToNormal, formId:' + formId);
}
}
FormExtension.onUpdate
onUpdate(formId: string): void
卡片提供方接收更新卡片的通知接口。獲取最新數(shù)據(jù)后調(diào)用[FormExtensionContext]的updateForm接口刷新卡片數(shù)據(jù)。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
formId | string | 是 | 請(qǐng)求更新的卡片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
卡片提供方接收修改可見(jiàn)性的通知接口。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
newStatus | { [key: string]: number } | 是 | 請(qǐng)求修改的卡片ID和可見(jiàn)狀態(tài)。 |
示例:
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
卡片提供方接收處理卡片事件的通知接口。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
formId | string | 是 | 請(qǐng)求觸發(fā)事件的卡片ID。 |
message | string | 是 | 事件消息。 |
示例:
export default class MyFormExtension extends FormExtension {
onEvent(formId, message) {
console.log('FormExtension onEvent, formId:' + formId + ", message:" + message);
}
}
FormExtension.onDestroy
onDestroy(formId: string): void
卡片提供方接收銷(xiāo)毀卡片的通知接口。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
formId | string | 是 | 請(qǐng)求銷(xiāo)毀的卡片ID。 |
示例:
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
}
FormExtension.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
當(dāng)系統(tǒng)配置更新時(shí)調(diào)用。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
config | [Configuration] | 是 | 表示需要更新的配置信息。 |
示例:
class MyFormExtension extends FormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
FormExtension.onAcquireFormState
onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查詢卡片狀態(tài)通知接口。默認(rèn)返回卡片初始狀態(tài)。
系統(tǒng)能力 :SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
want | [Want] | 否 | want表示獲取卡片狀態(tài)的描述。描述包括包名稱(chēng)、能力名稱(chēng)、模塊名稱(chēng)、卡片名和卡片維度。 |
示例:
import formInfo from '@ohos.application.formInfo'
class MyFormExtension extends FormExtension {
onAcquireFormState(want) {
console.log('FormExtension onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
}
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
8526瀏覽量
150861 -
框架
+關(guān)注
關(guān)注
0文章
399瀏覽量
17437 -
鴻蒙
+關(guān)注
關(guān)注
57文章
2321瀏覽量
42749
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論