js-apis-inputmethod-extension-context.md 5.3 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 167 168 169 170 171 172
**系统能力**:SystemCapability.MiscServices.InputMethodFramework

**返回值:**

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

**示例:**

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));
});
```