• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# FormExtensionContext
2
3FormExtensionContext模块是FormExtension的上下文环境,继承自ExtensionContext。
4
5FormExtensionContext模块提供FormExtension具有的接口和能力。
6
7> **说明:**
8>
9> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10> 本模块接口仅可在Stage模型下使用。
11
12## 使用说明
13
14在使用FormExtensionContext的功能前,需要通过FormExtension获取。
15
16```ts
17import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
18import formBindingData from '@ohos.app.form.formBindingData';
19export default class MyFormExtensionAbility extends FormExtensionAbility {
20    onAddForm() {
21        let formContext = this.context; // 获取FormExtensionContext
22        // ...
23        let dataObj1 = {
24            temperature:'11c',
25            'time':'11:00'
26        };
27        let obj1 = formBindingData.createFormBindingData(dataObj1);
28        return obj1;
29    }
30}
31```
32
33## startAbility
34
35startAbility(want: Want, callback: AsyncCallback<void>): void
36
37拉起一个卡片所属应用的Ability。使用callback异步回调。
38
39**系统接口**:此接口为系统接口。
40
41**系统能力**:SystemCapability.Ability.Form
42
43**参数:**
44
45| 参数名 |                类型               | 必填 |              说明               |
46| ------| --------------------------------- | ---- | -------------------------------------- |
47| want| [Want](js-apis-application-want.md) | 是  | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 |
48| callback| AsyncCallback<void>       | 是  | 回调函数。当拉起一个卡片所属应用的Ability成功,err为undefined,否则为错误对象。 |
49
50**示例:**
51
52```ts
53let want = {
54    deviceId: '',
55    bundleName: 'com.example.formstartability',
56    abilityName: 'MainAbility',
57    action: 'action1',
58    entities: ['entity1'],
59    type: 'MIMETYPE',
60    uri: 'key={true,true,false}',
61    parameters: {}
62};
63this.context.startAbility(want, (error, data) => {
64    if (error) {
65      console.log('FormExtensionContext startAbility, error:' + JSON.stringify(error));
66    } else {
67      console.log(`FormExtensionContext startAbility success`);
68    }
69});
70```
71
72## startAbility
73
74startAbility(want: Want): Promise<void>
75
76拉起一个卡片所属应用的Ability。使用Promise异步回调。
77
78**系统接口**:此接口为系统接口。
79
80**系统能力**:SystemCapability.Ability.Form
81
82**参数:**
83
84| 参数名 |                类型               | 必填 |              说明               |
85| ------| --------------------------------- | ---- | -------------------------------------- |
86| want| [Want](js-apis-application-want.md) | 是  | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 |
87
88**返回值:**
89
90| 类型          | 说明                                |
91| ------------ | ---------------------------------- |
92| Promise<void< | 无返回结果的Promise对象。 |
93
94**示例:**
95
96```ts
97let want = {
98    deviceId: '',
99    bundleName: 'com.example.formstartability',
100    abilityName: 'MainAbility',
101    action: 'action1',
102    entities: ['entity1'],
103    type: 'MIMETYPE',
104    uri: 'key={true,true,false}',
105    parameters: {}
106};
107this.context.startAbility(want).then(() => {
108    console.info('StartAbility Success');
109}).catch((error) => {
110    console.info('StartAbility failed');
111});
112```