FormExtensionContext


FormExtensionContext

FormExtensionContext模块是FormExtensionAbility的上下文环境,继承自ExtensionContext。

FormExtensionContext模块提供FormExtensionAbility具有的接口和能力。

说明:

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

使用说明

在使用FormExtensionContext的功能前,需要通过FormExtensionAbility获取。

import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
import formBindingData from '@ohos.app.form.formBindingData';

export default class MyFormExtensionAbility extends FormExtensionAbility {
  onAddForm(want) {
    let formContext = this.context; // 获取FormExtensionContext
    // ...
    let dataObj1 = {
      temperature: '11c',
      'time': '11:00'
    };
    let obj1 = formBindingData.createFormBindingData(dataObj1);
    return obj1;
  }
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

startAbility

startAbility(want: Want, callback: AsyncCallback<void>): void

拉起一个卡片所属应用的Ability。使用callback异步回调。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Ability.Form

参数:

参数名 类型 必填 说明
want Want 包含bundleName,abilityName以及用户自定参数用于拉起Ability。
callback AsyncCallback<void> 回调函数。当拉起一个卡片所属应用的Ability成功,err为undefined,否则为错误对象。

示例:

import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';

export default class MyFormExtensionAbility extends FormExtensionAbility {
  onFormEvent(formId, message) {
    // 当触发卡片message事件时,执行startAbility
    console.log('FormExtensionAbility onFormEvent, formId: ${formId}, message:${message}');
    let want = {
      deviceId: '',
      bundleName: 'com.example.formstartability',
      abilityName: 'EntryAbility',
      parameters: {
        'message': message
      }
    };
    this.context.startAbility(want, (error, data) => {
      if (error) {
        console.error('FormExtensionContext startAbility, error:${JSON.stringify(error)}');
      } else {
        console.log('FormExtensionContext startAbility success');
      }
    });
  }
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

startAbility

startAbility(want: Want): Promise<void>

拉起一个卡片所属应用的Ability。使用Promise异步回调。

系统接口:此接口为系统接口。

系统能力:SystemCapability.Ability.Form

参数:

参数名 类型 必填 说明
want Want 包含bundleName,abilityName以及用户自定参数用于拉起Ability。

返回值:

类型 说明
Promise<void> 无返回结果的Promise对象。

示例:

import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';

export default class MyFormExtensionAbility extends FormExtensionAbility {
  onFormEvent(formId, message) {
    // 当触发卡片message事件时,执行startAbility
    console.log('FormExtensionAbility onFormEvent, formId:${formId}, message:${message}');
    let want = {
      deviceId: '',
      bundleName: 'com.example.formstartability',
      abilityName: 'EntryAbility',
      parameters: {
        'message': message
      }
    };
    this.context.startAbility(want).then(() => {
      console.info('StartAbility Success');
    }).catch((error) => {
      console.error('StartAbility failed');
    });
  }
};
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21