js-apis-inputmethod-extension-context.md 6.6 KB
Newer Older
Z
zhaolinglan 已提交
1 2 3 4 5 6 7 8
# InputMethodExtensionContext

InputMethodExtensionContext模块是InputMethodExtensionAbility的上下文环境,继承自ExtensionContext。

InputMethodExtensionContext模块提供InputMethodExtensionAbility具有的能力和接口,包括启动、停止、绑定、解绑Ability。

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

Z
zhaolinglan 已提交
12 13 14 15 16 17
## 导入模块

```
import InputMethodExtensionContext from '@ohos.inputmethodextensioncontext';
```

Z
zhaolinglan 已提交
18 19 20 21
## 使用说明

在使用InputMethodExtensionContext的功能前,需要通过InputMethodExtensionAbility子类实例获取。

H
Hollokin 已提交
22
```ts
H
Hollokin 已提交
23 24 25 26 27 28
import InputMethodExtensionAbility from '@ohos.inputmethodextensionability';
class MainAbility extends InputMethodExtensionAbility {
    onCreate() {
        let context = this.context;
    }
}
Z
zhaolinglan 已提交
29 30
```

Z
zhaolinglan 已提交
31
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
32 33 34

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

H
Hollokin 已提交
35 36 37
启动Ability。使用callback异步回调。

**模型约束**: 此接口仅可在Stage模型下使用。
Z
zhaolinglan 已提交
38 39 40 41 42

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
43 44 45
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
H
Hollokin 已提交
46
| callback | AsyncCallback<void> | 是 | 回调函数。当启动Ability成功,err为undefined;否则为错误对象。 |
Z
zhaolinglan 已提交
47 48 49

**示例:**

H
Hollokin 已提交
50
```ts
H
Hollokin 已提交
51 52 53 54 55 56 57 58
let want = {
    'bundleName': 'com.example.myapp',
    'abilityName': 'MyAbility'
};
this.context.startAbility(want, (err) => {
    console.log('startAbility result:' + JSON.stringify(err));
});
```
Z
zhaolinglan 已提交
59

Z
zhaolinglan 已提交
60
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
61 62 63

startAbility(want: Want, options?: StartOptions): Promise\<void>;

Z
zhaolinglan 已提交
64
启动Ability,包含Want类型参数,以及可选填的StartOption类型参数。通过Promise方法返回结果。
Z
zhaolinglan 已提交
65

H
Hollokin 已提交
66 67
**模型约束**: 此接口仅可在Stage模型下使用。

Z
zhaolinglan 已提交
68 69 70 71
**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
72 73 74 75
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | Want类型参数,传入需要启动的ability的信息,如ability名称,包名等。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 否 | 启动Ability所携带的参数。 |
Z
zhaolinglan 已提交
76 77 78 79 80 81 82 83 84

**返回值:**

  | 类型 | 说明 | 
  | -------- | -------- |
  | Promise&lt;void&gt; | 返回一个Promise,包含接口的结果。 | 

**示例:**

H
Hollokin 已提交
85
```ts
H
Hollokin 已提交
86 87 88 89 90 91 92 93 94 95
let want = {
    'bundleName': 'com.example.myapp',
    'abilityName': 'MyAbility'
};
this.context.startAbility(want).then((data) => {
    console.log('success:' + JSON.stringify(data));
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});
```
Z
zhaolinglan 已提交
96

Z
zhaolinglan 已提交
97
## InputMethodExtensionContext.startAbility
Z
zhaolinglan 已提交
98 99 100

startAbility(want: Want, options: StartOptions, callback: AsyncCallback&lt;void&gt;): void

H
Hollokin 已提交
101 102 103
启动Ability。使用callback异步回调。

**模型约束**: 此接口仅可在Stage模型下使用。
Z
zhaolinglan 已提交
104 105 106 107 108 109 110 111 112

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| want | [Want](js-apis-application-Want.md)  | 是 | 启动Ability的want信息。 |
| options | [StartOptions](js-apis-application-StartOptions.md) | 是 | 启动Ability所携带的参数。 |
H
Hollokin 已提交
113
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当启动Ability成功,err为undefined;否则为错误对象。|
Z
zhaolinglan 已提交
114 115 116

**示例:**

H
Hollokin 已提交
117
```ts
H
Hollokin 已提交
118
let want = {
H
Hollokin 已提交
119 120 121
    'deviceId': '',
    'bundleName': 'com.extreme.test',
    'abilityName': 'MainAbility'
H
Hollokin 已提交
122 123
};
let options = {
H
Hollokin 已提交
124
    windowMode: 0,
H
Hollokin 已提交
125 126 127 128 129
};
this.context.startAbility(want, options, (error) => {
    console.log('error.code = ' + error.code)
})
```
Z
zhaolinglan 已提交
130 131 132 133 134

## InputMethodExtensionContext.terminateSelf

terminateSelf(callback: AsyncCallback&lt;void&gt;): void;

H
Hollokin 已提交
135 136 137
停止输入法应用自身。使用callback异步回调。

**模型约束**: 此接口仅可在Stage模型下使用。
Z
zhaolinglan 已提交
138 139 140 141 142

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

Z
zhaolinglan 已提交
143 144
| 参数名   | 类型                      | 必填 | 说明                                   |
| -------- | ------------------------- | ---- | -------------------------------------- |
H
Hollokin 已提交
145
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当启动Ability成功,err为undefined;否则为错误对象。 |
Z
zhaolinglan 已提交
146 147 148

**示例:**

H
Hollokin 已提交
149
```ts
Z
zhaolinglan 已提交
150
this.context.terminateSelf((err) => {
Z
zhaolinglan 已提交
151
    console.log('terminateSelf result:' + JSON.stringify(err));
Z
zhaolinglan 已提交
152
});
H
Hollokin 已提交
153
```
Z
zhaolinglan 已提交
154 155 156 157 158

## InputMethodExtensionContext.terminateSelf

terminateSelf(): Promise&lt;void&gt;;

Z
zhaolinglan 已提交
159
停止输入法应用自身。通过Promise返回结果。
Z
zhaolinglan 已提交
160

H
Hollokin 已提交
161 162
**模型约束**: 此接口仅可在Stage模型下使用。

Z
zhaolinglan 已提交
163 164 165 166
**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**返回值:**

H
Hollokin 已提交
167 168 169
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |
Z
zhaolinglan 已提交
170 171 172

**示例:**

H
Hollokin 已提交
173
```ts
H
Hollokin 已提交
174 175 176 177 178 179
this.context.terminateSelf().then((data) => {
    console.log('success:' + JSON.stringify(data));
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});
```
H
Hollokin 已提交
180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229

## InputMethodExtensionContext.destroy<sup>9+</sup>

destroy(callback: AsyncCallback<void>): void

停止输入法应用自身。使用callback异步回调。

**模型约束**: 此接口仅可在Stage模型下使用。

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**参数:**

| 参数名   | 类型                      | 必填 | 说明                                   |
| -------- | ------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当启动Ability成功,err为undefined;否则为错误对象。 |

**示例:**

```ts
this.context.destroy((err) => {
    console.log('destroy result:' + JSON.stringify(err));
});
```

## InputMethodExtensionContext.destroy<sup>9+</sup>

destroy(): Promise&lt;void&gt;;

停止输入法应用自身。通过Promise返回结果。

**模型约束**: 此接口仅可在Stage模型下使用。

**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | Promise对象,无返回结果的Promise对象。 |

**示例:**

```ts
this.context.destroy().then((data) => {
    console.log('success:' + JSON.stringify(data));
}).catch((error) => {
    console.log('failed:' + JSON.stringify(error));
});
```