FormExtension
FormExtension模塊提供了FormExtension卡片擴展相關接口。
說明:
本模塊首批接口從API version 9開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。
本模塊接口僅可在Stage模型下使用。
導入模塊
import FormExtension from '@ohos.application.FormExtension';
權限
無
屬性
系統能力 :SystemCapability.Ability.Form
名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
context | [FormExtensionContext] | 是 | 否 | FormExtension的上下文環境,繼承自ExtensionContext。 |
鴻蒙開發指導文檔:[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md
]
onCreate
onCreate(want: Want): formBindingData.FormBindingData
卡片提供方接收創建卡片的通知接口。
系統能力 :SystemCapability.Ability.Form
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
want | [Want] | 是 | 當前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
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求轉換為常態的卡片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
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求更新的卡片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
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求觸發事件的卡片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
卡片提供方接收銷毀卡片的通知接口。
系統能力 :SystemCapability.Ability.Form
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求銷毀的卡片ID。 |
示例:
export default class MyFormExtension extends FormExtension {
onDestroy(formId) {
console.log('FormExtension onDestroy, formId:' + formId);
}
}
FormExtension.onConfigurationUpdated
onConfigurationUpdated(config: Configuration): void;
當系統配置更新時調用。
系統能力 :SystemCapability.Ability.Form
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
config | [Configuration] | 是 | 表示需要更新的配置信息。 |
示例:
class MyFormExtension extends FormExtension {
onConfigurationUpdated(config) {
console.log('onConfigurationUpdated, config:' + JSON.stringify(config));
}
}
FormExtension.onAcquireFormState
onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查詢卡片狀態通知接口。默認返回卡片初始狀態。
系統能力 :SystemCapability.Ability.Form
參數:
參數名 | 類型 | 必填 | 說明 |
---|---|---|---|
want | [Want] | 否 | want表示獲取卡片狀態的描述。描述包括包名稱、能力名稱、模塊名稱、卡片名和卡片維度。 |
示例:
import formInfo from '@ohos.application.formInfo'
class MyFormExtension extends FormExtension {
onAcquireFormState(want) {
console.log('FormExtension onAcquireFormState, want:' + want);
return formInfo.FormState.UNKNOWN;
}
}
審核編輯 黃宇
-
接口
+關注
關注
33文章
8575瀏覽量
151015 -
框架
+關注
關注
0文章
403瀏覽量
17475 -
鴻蒙
+關注
關注
57文章
2339瀏覽量
42805
發布評論請先 登錄
相關推薦
評論