W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
FormExtensionAbility為卡片擴展模塊,提供卡片創(chuàng)建、銷毀、刷新等生命周期回調(diào)。
本模塊首批接口從API version 9開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
本模塊接口僅可在Stage模型下使用。
系統(tǒng)能力:SystemCapability.Ability.Form
名稱 | 類型 | 可讀 | 可寫 | 說明 |
---|---|---|---|---|
context | FormExtensionContext | 是 | 否 | FormExtensionAbility的上下文環(huán)境,繼承自ExtensionContext。 |
onAddForm(want: Want): formBindingData.FormBindingData
卡片提供方接收創(chuàng)建卡片的通知接口。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
want | 是 | 當前ExtensionAbility相關(guān)的Want類型信息,包括卡片ID、卡片名稱、卡片樣式等。這些卡片信息必須作為持久數(shù)據(jù)進行管理,以便后續(xù)更新和刪除卡片。 |
返回值:
類型 | 說明 |
---|---|
formBindingData.FormBindingData對象,卡片要顯示的數(shù)據(jù)。 |
示例:
- import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
- import formBindingData from'@ohos.app.form.formBindingData';
- export default class MyFormExtensionAbility extends FormExtensionAbility {
- onAddForm(want) {
- console.log('FormExtensionAbility onAddForm, want:' + want.abilityName);
- let dataObj1 = {
- temperature:'11c',
- 'time':'11:00'
- };
- let obj1 = formBindingData.createFormBindingData(dataObj1);
- return obj1;
- }
- }
onCastToNormalForm(formId: string): void
卡片提供方接收臨時卡片轉(zhuǎn)常態(tài)卡片的通知接口。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求轉(zhuǎn)換為常態(tài)的卡片標識。 |
示例:
- export default class MyFormExtensionAbility extends FormExtensionAbility {
- onCastToNormalForm(formId) {
- console.log('FormExtensionAbility onCastToNormalForm, formId:' + formId);
- }
- }
onUpdateForm(formId: string): void
卡片提供方接收更新卡片的通知接口。獲取最新數(shù)據(jù)后調(diào)用formProvider的updateForm接口刷新卡片數(shù)據(jù)。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求更新的卡片ID。 |
示例:
- import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
- import formBindingData from '@ohos.app.form.formBindingData';
- import formProvider from '@ohos.app.form.formProvider';
- export default class MyFormExtensionAbility extends FormExtensionAbility {
- onUpdateForm(formId) {
- console.log('FormExtensionAbility onUpdateForm, formId: ${formId}');
- let obj2 = formBindingData.createFormBindingData({
- temperature: '22c',
- time: '22:00'
- });
- formProvider.updateForm(formId, obj2).then((data) => {
- console.log('FormExtensionAbility context updateForm, data: ${data}');
- }).catch((error) => {
- console.error('Operation updateForm failed. Cause: ${error}');
- });
- }
- };
onChangeFormVisibility(newStatus: { [key: string]: number }): void
卡片提供方接收修改可見性的通知接口。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
newStatus | { [key: string]: number } | 是 | 請求修改的卡片標識和可見狀態(tài)。 |
示例:
- import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
- import formBindingData from '@ohos.app.form.formBindingData';
- import formProvider from '@ohos.app.form.formProvider';
- export default class MyFormExtensionAbility extends FormExtensionAbility {
- 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: string, message: string): void
卡片提供方接收處理卡片事件的通知接口。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求觸發(fā)事件的卡片標識。 |
message | string | 是 | 事件消息。 |
示例:
- export default class MyFormExtension extends FormExtensionAbility {
- onFormEvent(formId, message) {
- console.log('FormExtensionAbility onFormEvent, formId:' + formId + ', message:' + message);
- }
- }
onRemoveForm(formId: string): void
卡片提供方接收銷毀卡片的通知接口。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
formId | string | 是 | 請求銷毀的卡片標識。 |
示例:
- export default class MyFormExtensionAbility extends FormExtensionAbility {
- onRemoveForm(formId) {
- console.log('FormExtensionAbility onRemoveForm, formId:' + formId);
- }
- }
onConfigurationUpdate(newConfig: Configuration): void;
當系統(tǒng)配置更新時調(diào)用。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
newConfig | 是 | 表示需要更新的配置信息。 |
示例:
- class MyFormExtensionAbility extends FormExtensionAbility {
- onConfigurationUpdate(config) {
- console.log('onConfigurationUpdate, config:' + JSON.stringify(config));
- }
- }
onAcquireFormState?(want: Want): formInfo.FormState;
卡片提供方接收查詢卡片狀態(tài)通知接口。默認返回卡片初始狀態(tài)。
系統(tǒng)能力:SystemCapability.Ability.Form
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
want | 是 | want表示獲取卡片狀態(tài)的描述。描述包括包名稱、能力名稱、模塊名稱、卡片名和卡片維度。 |
示例:
- import formInfo from '@ohos.app.form.formInfo';
- class MyFormExtensionAbility extends FormExtensionAbility {
- onAcquireFormState(want) {
- console.log('FormExtensionAbility onAcquireFormState, want:' + want);
- return formInfo.FormState.UNKNOWN;
- }
- }
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: