js-apis-inner-application-formExtensionContext.md 3.4 KB
Newer Older
1 2
# FormExtensionContext

Y
yuyaozhi 已提交
3 4 5 6
FormExtensionContext模块是FormExtension的上下文环境,继承自ExtensionContext。

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

Y
yuyaozhi 已提交
7
> **说明:**
8 9
>
> 本模块首批接口从API version 9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
10
> 本模块接口仅可在Stage模型下使用。
11

12
## 使用说明
13

14
在使用FormExtensionContext的功能前,需要通过FormExtension获取。
M
m00512953 已提交
15 16

```ts
17 18 19 20
import FormExtensionAbility from '@ohos.app.form.FormExtensionAbility';
import formBindingData from '@ohos.app.form.formBindingData';
export default class MyFormExtensionAbility extends FormExtensionAbility {
    onAddForm() {
Z
zhongjianfei 已提交
21 22
        let formContext = this.context; // 获取FormExtensionContext
        // ...
23 24 25 26 27 28 29 30 31
        let dataObj1 = {
            temperature:"11c",
            "time":"11:00"
        };
        let obj1 = formBindingData.createFormBindingData(dataObj1);
        return obj1;
    }
}
```
32

33
## startAbility
34 35 36

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

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

39
**系统接口**:此接口为系统接口。
40

41
**系统能力**:SystemCapability.Ability.Form
42

43 44 45 46
**参数:**

| 参数名 |                类型               | 必填 |              说明               |
| ------| --------------------------------- | ---- | -------------------------------------- |
M
m00512953 已提交
47
| want| [Want](js-apis-application-want.md) | 是  | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 |
48
| callback| AsyncCallback<void>       | 是  | 回调函数。当拉起一个卡片所属应用的Ability成功,err为undefined,否则为错误对象。 |
49 50 51

**示例:**

M
m00512953 已提交
52
```ts
53 54 55 56 57 58 59 60 61 62
var want = {
    deviceId: "",
    bundleName: "com.example.formstartability",
    abilityName: "MainAbility",
    action: "action1",
    entities: ["entity1"],
    type: "MIMETYPE",
    uri: "key={true,true,false}",
    parameters: {}
}
63 64 65 66 67 68
this.context.startAbility(want, (error, data) => {
    if (error) {
      console.log('FormExtensionContext startAbility, error:' + JSON.stringify(error));
    } else {
      console.log(`FormExtensionContext startAbility success`);
    }
69 70 71
})
```

72
## startAbility
73 74 75

startAbility(want: Want): Promise<void>

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

78
**系统接口**:此接口为系统接口。
79

80
**系统能力**:SystemCapability.Ability.Form
81

82 83 84 85
**参数:**

| 参数名 |                类型               | 必填 |              说明               |
| ------| --------------------------------- | ---- | -------------------------------------- |
M
m00512953 已提交
86
| want| [Want](js-apis-application-want.md) | 是  | 包含bundleName,abilityName以及用户自定参数用于拉起Ability。 |
87 88 89 90 91

**返回值:**

| 类型          | 说明                                |
| ------------ | ---------------------------------- |
92
| Promise<void< | 无返回结果的Promise对象。 |
93 94 95

**示例:**

M
m00512953 已提交
96
```ts
97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112
var want = {
    deviceId: "",
    bundleName: "com.example.formstartability",
    abilityName: "MainAbility",
    action: "action1",
    entities: ["entity1"],
    type: "MIMETYPE",
    uri: "key={true,true,false}",
    parameters: {}
}
this.context.startAbility(want).then(() => {
    console.info("StartAbility Success");
}).catch((error) => {
    console.info("StartAbility failed");
});
```