js-apis-inputmethod.md 49.9 KB
Newer Older
1
# @ohos.inputMethod (输入法框架)
Z
zhouyongfei 已提交
2

T
explain  
tianyu 已提交
3 4
本模块提供对输入法框架的管理,包括隐藏输入法、查询已安装的输入法列表和显示输入法选择对话框。

5
> **说明:**
H
update  
Hollokin 已提交
6
>
7
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zhouyongfei 已提交
8 9 10 11


## 导入模块

12
```js
13
import inputMethod from '@ohos.inputMethod';
Z
zhouyongfei 已提交
14 15
```

H
Hollokin 已提交
16
## 常量<sup>8+</sup>
Z
zhouyongfei 已提交
17 18 19

常量值。

H
update  
Hollokin 已提交
20
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
21

22
| 参数名 | 类型 | 常量值 | 说明 |
H
Hollokin 已提交
23 24
| -------- | -------- | -------- | -------- |
| MAX_TYPE_NUM | number | 128 | 可支持的最大输入法个数。 |
Z
zhouyongfei 已提交
25

26
## InputMethodProperty<sup>8+</sup>
Z
zhouyongfei 已提交
27 28 29

输入法应用属性。

H
update  
Hollokin 已提交
30
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
31

32
| 名称 | 类型 | 可读 | 可写 | 说明 |
Z
zhouyongfei 已提交
33
| -------- | -------- | -------- | -------- | -------- |
H
Hollokin 已提交
34 35 36
| name<sup>9+</sup>  | string | 是 | 否 | 输入法内部名称。必填。|
| id<sup>9+</sup>    | string | 是 | 否 | 输入法唯一标识。必填。|
| label<sup>9+</sup>    | string | 是 | 否 | 输入法对外显示名称。 非必填。|
C
cy7717 已提交
37
| labelId<sup>10+</sup>    | string | 是 | 否 | 输入法对外显示名称资源号。 非必填。|
H
Hollokin 已提交
38 39
| icon<sup>9+</sup>    | string | 是 | 否 | 输入法图标数据。非必填。 |
| iconId<sup>9+</sup>    | number | 是 | 否 | 输入法图标资源号。非必填。 |
C
cy7717 已提交
40
| extra<sup>9+</sup>    | object | 是 | 是 | 输入法扩展信息。 非必填。<br/>**说明:** 从API version 10开始改为非必选参数。|
H
Hollokin 已提交
41 42
| packageName<sup>(deprecated)</sup> | string | 是 | 否 | 输入法包名。必填。<br/>**说明:** 从API version 8开始支持,从API version 9开始废弃,建议使用name替代。 |
| methodId<sup>(deprecated)</sup> | string | 是 | 否 | 输入法唯一标识。必填。<br/>**说明:** 从API version 8开始支持,从API version 9开始废弃,建议使用id替代。 |
Z
zhouyongfei 已提交
43

44 45 46 47 48 49
## inputMethod.getController<sup>9+</sup>

getController(): InputMethodController

获取客户端实例[InputMethodController](#inputmethodcontroller)

H
update  
Hollokin 已提交
50
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
51 52 53 54 55 56 57

**返回值:**

| 类型                                            | 说明                     |
| ----------------------------------------------- | ------------------------ |
| [InputMethodController](#inputmethodcontroller) | 回调返回当前客户端实例。 |

H
Hollokin 已提交
58 59
**错误码:**

60
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
61

62
| 错误码ID | 错误信息                     |
H
Hollokin 已提交
63 64 65
| -------- | ------------------------------ |
| 12800006 | Input method controller error. |

66 67
**示例:**

H
Hollokin 已提交
68
```js
69
let inputMethodController = inputMethod.getController();
70
```
71 72 73 74 75 76 77

## inputMethod.getSetting<sup>9+</sup>

getSetting(): InputMethodSetting

获取客户端设置实例[InputMethodSetting](#inputmethodsetting8)

H
update  
Hollokin 已提交
78
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
79 80 81 82 83 84 85

**返回值:**

| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
| [InputMethodSetting](#inputmethodsetting8) | 回调返回当前客户端设置实例。 |

H
Hollokin 已提交
86 87
**错误码:**

88
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
89

90
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
91 92 93
| -------- | -------------------------------------- |
| 12800007 | Input method settings extension error. |

94 95
**示例:**

H
Hollokin 已提交
96
```js
H
Hollokin 已提交
97
let inputMethodSetting = inputMethod.getSetting();
98 99
```

G
gaoxiang 已提交
100
## inputMethod.switchInputMethod<sup>9+</sup>
Z
zhouyongfei 已提交
101

Z
zhaolinglan 已提交
102
switchInputMethod(target: InputMethodProperty, callback: AsyncCallback&lt;boolean&gt;): void
G
gaoxiang 已提交
103

H
Hollokin 已提交
104
切换输入法。使用callback异步回调。
105

H
Hollokin 已提交
106
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
107

H
update  
Hollokin 已提交
108
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
G
gaoxiang 已提交
109 110 111

**参数:**

H
Hollokin 已提交
112 113 114 115
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| target | [InputMethodProperty](#inputmethodproperty8) | 是 | 传入要切换的目标输入法。 |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当输入法切换成功,err为undefined,data为true;否则为错误对象。 |
G
gaoxiang 已提交
116

H
Hollokin 已提交
117 118
**错误码:**

119
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
120

121
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
122 123
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
124
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
125

G
gaoxiang 已提交
126 127
**示例:**

H
Hollokin 已提交
128
```js
H
Hollokin 已提交
129 130 131 132 133 134 135 136
let im = inputMethod.getCurrentInputMethod();
let prop = {
    packageName: im.packageName,
    methodId: im.methodId,
    name: im.packageName,
    id: im.methodId,
    extra: {}
}
H
Hollokin 已提交
137
try{
H
Hollokin 已提交
138 139 140
    inputMethod.switchInputMethod(prop, (err, result) => {
        if (err !== undefined) {
            console.error('Failed to switchInputMethod: ' + JSON.stringify(err));
H
Hollokin 已提交
141 142 143
            return;
        }
        if (result) {
H
Hollokin 已提交
144
            console.info('Succeeded in switching inputmethod.');
H
Hollokin 已提交
145
        } else {
H
Hollokin 已提交
146
            console.error('Failed to switchInputMethod.');
H
Hollokin 已提交
147 148 149
        }
    });
} catch(err) {
H
Hollokin 已提交
150
    console.error('Failed to switchInputMethod: ' + JSON.stringify(err));
H
Hollokin 已提交
151
}
G
gaoxiang 已提交
152
```
G
gaoxiang 已提交
153
## inputMethod.switchInputMethod<sup>9+</sup>
Z
zhaolinglan 已提交
154
switchInputMethod(target: InputMethodProperty): Promise&lt;boolean&gt;
G
gaoxiang 已提交
155

H
Hollokin 已提交
156
切换输入法。使用promise异步回调。
G
gaoxiang 已提交
157

H
Hollokin 已提交
158
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
159

H
update  
Hollokin 已提交
160
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
G
gaoxiang 已提交
161

G
gaoxiang 已提交
162
**参数:**
G
gaoxiang 已提交
163 164 165

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
166
  |target |  [InputMethodProperty](#inputmethodproperty8)| 是 | 传入要切换的目标输入法。 |
G
gaoxiang 已提交
167

G
gaoxiang 已提交
168
**返回值:**
B
bmeangel 已提交
169

G
gaoxiang 已提交
170 171
  | 类型                                      | 说明                         |
  | ----------------------------------------- | ---------------------------- |
H
Hollokin 已提交
172
  | Promise\<boolean> | Promise对象。返回true表示切换输入法成功;返回false表示切换输入法失败。 |
G
gaoxiang 已提交
173

H
Hollokin 已提交
174 175
**错误码:**

176
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
177

178
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
179 180
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
181
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
182

G
gaoxiang 已提交
183 184
**示例:**

H
Hollokin 已提交
185
```js
H
Hollokin 已提交
186 187 188 189 190 191 192 193
let im = inputMethod.getCurrentInputMethod();
let prop = {
    packageName: im.packageName,
    methodId: im.methodId,
    name: im.packageName,
    id: im.methodId,
    extra: {}
}
H
Hollokin 已提交
194
try {
H
Hollokin 已提交
195
    inputMethod.switchInputMethod(prop).then((result) => {
H
Hollokin 已提交
196
        if (result) {
H
Hollokin 已提交
197
            console.info('Succeeded in switching inputmethod.');
H
Hollokin 已提交
198
        } else {
H
Hollokin 已提交
199
            console.error('Failed to switchInputMethod.');
H
Hollokin 已提交
200 201
        }
    }).catch((err) => {
H
Hollokin 已提交
202
        console.error('Failed to switchInputMethod: ' + JSON.stringify(err));
H
Hollokin 已提交
203 204
    })
} catch(err) {
H
Hollokin 已提交
205
    console.error('Failed to switchInputMethod: ' + JSON.stringify(err));
H
Hollokin 已提交
206
}
G
gaoxiang 已提交
207
```
208

Z
zhaolinglan 已提交
209 210 211 212
## inputMethod.getCurrentInputMethod<sup>9+</sup>

getCurrentInputMethod(): InputMethodProperty

H
Hollokin 已提交
213
获取当前输入法扩展应用,提供同步接口,返回当前输入法属性。
Z
zhaolinglan 已提交
214

H
update  
Hollokin 已提交
215
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
216 217 218

**返回值:**

Z
zhaolinglan 已提交
219 220
| 类型                                         | 说明                     |
| -------------------------------------------- | ------------------------ |
221
| [InputMethodProperty](#inputmethodproperty8) | 返回当前输入法属性对象。 |
Z
zhaolinglan 已提交
222 223 224

**示例:**

H
Hollokin 已提交
225
```js
H
Hollokin 已提交
226
let currentIme = inputMethod.getCurrentInputMethod();
Z
zhaolinglan 已提交
227 228
```

229 230
## inputMethod.switchCurrentInputMethodSubtype<sup>9+</sup>

H
Hollokin 已提交
231
switchCurrentInputMethodSubtype(target: InputMethodSubtype, callback: AsyncCallback\<boolean>): void
232

H
Hollokin 已提交
233
在当前输入法应用内切换子类型。使用callback异步回调。
234

C
cy7717 已提交
235
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用,如果调用者为当前输入法应用,则不需要此权限。
236

H
update  
Hollokin 已提交
237
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
238 239 240 241 242

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
H
update  
Hollokin 已提交
243
| target |  [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
H
Hollokin 已提交
244
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当输入法子类型切换成功,err为undefined,data为true;否则为错误对象。|
245

H
Hollokin 已提交
246 247
**错误码:**

248
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
249

250
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
251 252
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
253
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
254

255 256
**示例:**

H
Hollokin 已提交
257
```js
H
Hollokin 已提交
258
try {
H
Hollokin 已提交
259
    inputMethod.switchCurrentInputMethodSubtype({
260 261 262
      id: "ServiceExtAbility",
      label: "",
      name: "com.example.kikakeyboard",
H
Hollokin 已提交
263 264 265 266 267 268 269 270 271
      mode: "upper",
      locale: "",
      language: "",
      icon: "",
      iconId: 0,
      extra: {}
    }, (err, result) => {
        if (err !== undefined) {
            console.error('Failed to switchCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
272 273 274
            return;
        }
        if (result) {
H
Hollokin 已提交
275
            console.info('Succeeded in switching currentInputMethodSubtype.');
H
Hollokin 已提交
276
        } else {
H
Hollokin 已提交
277
            console.error('Failed to switchCurrentInputMethodSubtype');
H
Hollokin 已提交
278 279 280
        }
    });
} catch(err) {
H
Hollokin 已提交
281
    console.error('Failed to switchCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
282
}
283 284 285 286 287 288
```

## inputMethod.switchCurrentInputMethodSubtype<sup>9+</sup>

switchCurrentInputMethodSubtype(target: InputMethodSubtype): Promise&lt;boolean&gt;

H
Hollokin 已提交
289
在当前输入法应用内切换子类型。使用promise异步回调。
290

C
cy7717 已提交
291
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用,如果调用者为当前输入法应用,则不需要此权限。
292

H
update  
Hollokin 已提交
293
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
294 295 296 297 298

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
H
update  
Hollokin 已提交
299
|target |  [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
300

H
Hollokin 已提交
301 302 303 304 305 306
**返回值:**

| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
| Promise\<boolean> | Promise对象。返回true表示在当前输入法应用内切换子类型成功;返回false表示在当前输入法应用内切换子类型失败。 |

H
Hollokin 已提交
307 308
**错误码:**

309
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
310

311
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
312 313
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
314
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
315

316 317
**示例:**

H
Hollokin 已提交
318
```js
H
Hollokin 已提交
319
try {
H
Hollokin 已提交
320
    inputMethod.switchCurrentInputMethodSubtype({
321 322 323
      id: "ServiceExtAbility",
      label: "",
      name: "com.example.kikakeyboard",
H
Hollokin 已提交
324 325 326 327 328 329 330
      mode: "upper",
      locale: "",
      language: "",
      icon: "",
      iconId: 0,
      extra: {}
    }).then((result) => {
H
Hollokin 已提交
331
        if (result) {
H
Hollokin 已提交
332
            console.info('Succeeded in switching currentInputMethodSubtype.');
H
Hollokin 已提交
333
        } else {
H
Hollokin 已提交
334
            console.error('Failed to switchCurrentInputMethodSubtype.');
H
Hollokin 已提交
335 336
        }
    }).catch((err) => {
H
Hollokin 已提交
337
        console.error('Failed to switchCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
338 339
    })
} catch(err) {
H
Hollokin 已提交
340
    console.error('Failed to switchCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
341
}
342 343 344 345 346 347 348 349
```

## inputMethod.getCurrentInputMethodSubtype<sup>9+</sup>

getCurrentInputMethodSubtype(): InputMethodSubtype

获取当前输入法子类型。

H
update  
Hollokin 已提交
350
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
351 352 353 354 355

**返回值:**

| 类型                                         | 说明                     |
| -------------------------------------------- | ------------------------ |
H
update  
Hollokin 已提交
356
| [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype) | 返回当前输入法子类型对象。 |
357 358 359

**示例:**

H
Hollokin 已提交
360
```js
H
Hollokin 已提交
361
let currentImeSubType = inputMethod.getCurrentInputMethodSubtype();
362 363 364 365
```

## inputMethod.switchCurrentInputMethodAndSubtype<sup>9+</sup>

H
Hollokin 已提交
366
switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, callback: AsyncCallback\<boolean>): void
367

H
Hollokin 已提交
368
切换至指定输入法应用的指定子类型,用于跨输入法应用切换子类型。使用callback异步回调。
369

H
Hollokin 已提交
370
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
371

H
update  
Hollokin 已提交
372
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
373 374 375 376 377

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
378
|inputMethodProperty |  [InputMethodProperty](#inputmethodproperty8)| 是 | 传入要切换的目标输入法。 |
H
update  
Hollokin 已提交
379
|inputMethodSubtype |  [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
H
Hollokin 已提交
380
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当输入法和子类型切换成功,err为undefined,data为获取到的切换子类型结果true;否则为错误对象。 |
381

H
Hollokin 已提交
382 383
**错误码:**

384
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
385

386
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
387 388
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
389
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
390

391 392
**示例:**

H
Hollokin 已提交
393
```js
H
Hollokin 已提交
394
let im = inputMethod.getCurrentInputMethod();
395
let imSubType = inputMethod.getCurrentInputMethodSubtype();
H
Hollokin 已提交
396
try {
397
    inputMethod.switchCurrentInputMethodAndSubtype(im, imSubType, (err,result) => {
H
Hollokin 已提交
398 399
        if (err !== undefined) {
            console.error('Failed to switchCurrentInputMethodAndSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
400 401 402
            return;
        }
        if (result) {
H
Hollokin 已提交
403
            console.info('Succeeded in switching currentInputMethodAndSubtype.');
H
Hollokin 已提交
404
        } else {
H
Hollokin 已提交
405
            console.error('Failed to switchCurrentInputMethodAndSubtype.');
H
Hollokin 已提交
406 407 408
        }
    });
} catch (err) {
H
Hollokin 已提交
409
    console.error('Failed to switchCurrentInputMethodAndSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
410
}
411 412 413 414
```

## inputMethod.switchCurrentInputMethodAndSubtype<sup>9+</sup>

H
Hollokin 已提交
415
switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype): Promise&lt;boolean&gt;
416

H
Hollokin 已提交
417
切换至指定输入法应用的指定子类型,用于跨输入法应用切换子类型。使用promise异步回调。
418

H
Hollokin 已提交
419
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
420

H
update  
Hollokin 已提交
421
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
422 423 424 425 426

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
427
|inputMethodProperty |  [InputMethodProperty](#inputmethodproperty8)| 是 | 传入要切换的目标输入法。 |
H
update  
Hollokin 已提交
428
|inputMethodSubtype |  [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
429

H
Hollokin 已提交
430 431 432 433 434 435
**返回值:**

| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
| Promise\<boolean> | Promise对象。返回true表示切换至指定输入法应用的指定子类型成功;返回false表示切换至指定输入法应用的指定子类型失败。 |

H
Hollokin 已提交
436 437
**错误码:**

438
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
439

440
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
441 442
| -------- | -------------------------------------- |
| 12800005 | Configuration persisting error.        |
H
Hollokin 已提交
443
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
444

445 446
**示例:**

H
Hollokin 已提交
447
```js
H
Hollokin 已提交
448
let im = inputMethod.getCurrentInputMethod();
449
let imSubType = inputMethod.getCurrentInputMethodSubtype();
H
Hollokin 已提交
450
try {
451
    inputMethod.switchCurrentInputMethodAndSubtype(im, imSubType).then((result) => {
H
Hollokin 已提交
452
        if (result) {
H
Hollokin 已提交
453
            console.info('Succeeded in switching currentInputMethodAndSubtype.');
H
Hollokin 已提交
454
        } else {
H
Hollokin 已提交
455
            console.error('Failed to switchCurrentInputMethodAndSubtype.');
H
Hollokin 已提交
456 457
        }
    }).catch((err) => {
H
Hollokin 已提交
458
        console.error('Failed to switchCurrentInputMethodAndSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
459 460
    })
} catch(err) {
H
Hollokin 已提交
461
    console.error('Failed to switchCurrentInputMethodAndSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
462
}
463 464
```

H
Hollokin 已提交
465
## inputMethod.getInputMethodController<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
466

H
Hollokin 已提交
467
getInputMethodController(): InputMethodController
Z
zhouyongfei 已提交
468

H
Hollokin 已提交
469
获取客户端实例[InputMethodController](#inputmethodcontroller)
Z
zhouyongfei 已提交
470

H
update  
Hollokin 已提交
471 472 473
> **说明:** 
>
> 从API version 6开始支持,从API version 9开始废弃, 建议使用[getController()](#inputmethodgetcontroller9)替代。
H
Hollokin 已提交
474

H
update  
Hollokin 已提交
475
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
476

H
Hollokin 已提交
477
**返回值:**
Z
zhouyongfei 已提交
478

H
Hollokin 已提交
479 480 481
| 类型                                            | 说明                     |
| ----------------------------------------------- | ------------------------ |
| [InputMethodController](#inputmethodcontroller) | 回调返回当前客户端实例。 |
Z
zhouyongfei 已提交
482

483
**示例:**
Z
zhouyongfei 已提交
484

485
```js
486
let inputMethodController = inputMethod.getInputMethodController();
Z
zhouyongfei 已提交
487 488
```

H
Hollokin 已提交
489
## inputMethod.getInputMethodSetting<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
490

H
Hollokin 已提交
491
getInputMethodSetting(): InputMethodSetting
Z
zhouyongfei 已提交
492

H
Hollokin 已提交
493
获取客户端设置实例[InputMethodSetting](#inputmethodsetting8)
Z
zhouyongfei 已提交
494

495 496 497
> **说明:**
>
> 从API version 6开始支持,从API version 9开始废弃, 建议使用[getSetting()](#inputmethodgetsetting9)替代。
H
Hollokin 已提交
498

H
update  
Hollokin 已提交
499
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
500

501
**返回值:**
Z
zhouyongfei 已提交
502

H
Hollokin 已提交
503 504 505
| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
| [InputMethodSetting](#inputmethodsetting8) | 回调返回当前客户端设置实例。 |
Z
zhouyongfei 已提交
506

507
**示例:**
Z
zhouyongfei 已提交
508

509
```js
H
Hollokin 已提交
510
let inputMethodSetting = inputMethod.getInputMethodSetting();
Z
zhouyongfei 已提交
511 512
```

H
Hollokin 已提交
513 514
## InputMethodController

515
下列API示例中都需使用[getController](#inputmethodgetcontroller9)获取到InputMethodController实例,再通过此实例调用对应方法。
H
Hollokin 已提交
516

517 518 519 520
### stopInputSession<sup>9+</sup>

stopInputSession(callback: AsyncCallback&lt;boolean&gt;): void

521
结束输入会话。通过点击输入框实现输入会话的开启之后该接口的调用才可生效。使用callback异步回调。
522

H
update  
Hollokin 已提交
523
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
524 525 526 527 528

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
529
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当结束输入会话成功时,err为undefined,data为true;否则为错误对象。 |
530

H
Hollokin 已提交
531 532
**错误码:**

533
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
534

535
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
536 537
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
538
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
539

540 541 542
**示例:**

```js
H
Hollokin 已提交
543
try {
H
Hollokin 已提交
544
    inputMethodController.stopInputSession((error, result) => {
H
Hollokin 已提交
545 546
        if (error !== undefined) {
            console.error('Failed to stopInputSession: ' + JSON.stringify(error));
H
Hollokin 已提交
547 548 549
            return;
        }
        if (result) {
H
Hollokin 已提交
550
            console.info('Succeeded in stopping inputSession.');
H
Hollokin 已提交
551
        } else {
H
Hollokin 已提交
552
            console.error('Failed to stopInputSession.');
H
Hollokin 已提交
553 554
        }
    });
H
Hollokin 已提交
555
} catch(error) {
H
Hollokin 已提交
556
    console.error('Failed to stopInputSession: ' + JSON.stringify(error));
H
Hollokin 已提交
557
}
558 559
```

H
Hollokin 已提交
560
### stopInputSession<sup>9+</sup>
561

H
Hollokin 已提交
562
stopInputSession(): Promise&lt;boolean&gt;
563

564
结束输入会话。通过点击输入框实现输入会话的开启之后此接口才可生效。使用promise异步回调。
565

H
update  
Hollokin 已提交
566
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
567 568 569 570 571

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
572
| Promise&lt;boolean&gt; | Promise对象。返回true表示结束输入会话成功;返回false表示结束输入会话失败。 |
573

H
Hollokin 已提交
574 575
**错误码:**

576
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
577

578
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
579 580
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
581
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
582

583 584 585
**示例:**

```js
H
Hollokin 已提交
586
try {
H
Hollokin 已提交
587
    inputMethodController.stopInputSession().then((result) => {
H
Hollokin 已提交
588
        if (result) {
H
Hollokin 已提交
589
            console.info('Succeeded in stopping inputSession.');
H
Hollokin 已提交
590
        } else {
H
Hollokin 已提交
591
            console.error('Failed to stopInputSession.');
H
Hollokin 已提交
592 593
        }
    }).catch((err) => {
H
Hollokin 已提交
594
        console.error('Failed to stopInputSession: ' + JSON.stringify(err));
H
Hollokin 已提交
595 596
    })
} catch(err) {
H
Hollokin 已提交
597
    console.error('Failed to stopInputSession: ' + JSON.stringify(err));
H
Hollokin 已提交
598
}
599 600
```

601
### showSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
602

Z
zhaolinglan 已提交
603
showSoftKeyboard(callback: AsyncCallback&lt;void&gt;): void
Z
zhaolinglan 已提交
604

605
显示软键盘。需要与输入框绑定使用。当点击输入框后,才可通过该接口的调用显示出当前输入法的软键盘。使用callback异步回调。
Z
zhaolinglan 已提交
606

H
Hollokin 已提交
607
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
H
Hollokin 已提交
608

Z
zhaolinglan 已提交
609
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
610 611 612

**参数:**

613
| 参数名   | 类型                  | 必填 | 说明       |
Z
zhaolinglan 已提交
614
| -------- | ------------------------- | ---- | ---------- |
H
Hollokin 已提交
615
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当软键盘显示成功。err为undefined,否则为错误对象。 |
Z
zhaolinglan 已提交
616

H
Hollokin 已提交
617 618
**错误码:**

619
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
620

621
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
622 623
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
624
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
625

Z
zhaolinglan 已提交
626 627 628
**示例:**

```js
H
Hollokin 已提交
629
inputMethodController.showSoftKeyboard((err) => {
Z
zhaolinglan 已提交
630
    if (err === undefined) {
H
Hollokin 已提交
631
        console.info('Succeeded in showing softKeyboard.');
Z
zhaolinglan 已提交
632
    } else {
H
Hollokin 已提交
633
        console.error('Failed to showSoftKeyboard: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
634 635 636 637
    }
})
```

638
### showSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
639

H
Hollokin 已提交
640 641
showSoftKeyboard(): Promise&lt;void&gt;

642
显示软键盘。需要与输入框绑定使用。当点击输入框后,才可通过该接口的调用显示出当前输入法的软键盘。使用Promise异步回调。
Z
zhaolinglan 已提交
643

H
Hollokin 已提交
644
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
H
Hollokin 已提交
645

Z
zhaolinglan 已提交
646
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
647 648 649

**返回值:**

Z
zhaolinglan 已提交
650 651
| 类型                | 说明                      |
| ------------------- | ------------------------- |
H
Hollokin 已提交
652
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zhaolinglan 已提交
653

H
Hollokin 已提交
654 655
**错误码:**

656
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
657

658
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
659 660
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
661
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
662

Z
zhaolinglan 已提交
663 664 665
**示例:**

```js
H
Hollokin 已提交
666 667
inputMethodController.showSoftKeyboard().then(() => {
    console.log('Succeeded in showing softKeyboard.');
Z
zhaolinglan 已提交
668
}).catch((err) => {
H
Hollokin 已提交
669
    console.error('Failed to showSoftKeyboard: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
670 671 672
});
```

673
### hideSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
674

Z
zhaolinglan 已提交
675
hideSoftKeyboard(callback: AsyncCallback&lt;void&gt;): void
Z
zhaolinglan 已提交
676

677
隐藏软键盘。需要与输入框绑定使用。点击输入框后,才可以使用该接口的调用隐藏软键盘。使用callback异步回调。
Z
zhaolinglan 已提交
678

H
Hollokin 已提交
679
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
H
Hollokin 已提交
680

Z
zhaolinglan 已提交
681
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
682 683 684

**参数:**

685
| 参数名   | 类型                  | 必填 | 说明       |
Z
zhaolinglan 已提交
686
| -------- | ------------------------- | ---- | ---------- |
H
Hollokin 已提交
687
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。当软键盘隐藏成功。err为undefined,否则为错误对象。 |
Z
zhaolinglan 已提交
688

H
Hollokin 已提交
689 690
**错误码:**

691
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
692

693
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
694 695
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
696
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
697

Z
zhaolinglan 已提交
698 699 700
**示例:**

```js
H
Hollokin 已提交
701
inputMethodController.hideSoftKeyboard((err) => {
Z
zhaolinglan 已提交
702
    if (err === undefined) {
H
Hollokin 已提交
703
        console.info('Succeeded in hiding softKeyboard.');
Z
zhaolinglan 已提交
704
    } else {
H
Hollokin 已提交
705
        console.error('Failed to hideSoftKeyboard: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
706 707 708 709
    }
})
```

710
### hideSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
711

Z
zhaolinglan 已提交
712
hideSoftKeyboard(): Promise&lt;void&gt;
Z
zhaolinglan 已提交
713

714
隐藏软键盘。需要与输入框绑定使用。点击输入框后,才可以使用该接口的调用隐藏软键盘。使用Promise异步回调。
Z
zhaolinglan 已提交
715

H
Hollokin 已提交
716
**需要权限:** ohos.permission.CONNECT_IME_ABILITY,仅系统应用可用。
H
Hollokin 已提交
717

Z
zhaolinglan 已提交
718
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
719 720 721

**返回值:**

Z
zhaolinglan 已提交
722 723
| 类型                | 说明                      |
| ------------------- | ------------------------- |
H
Hollokin 已提交
724
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zhaolinglan 已提交
725

H
Hollokin 已提交
726 727
**错误码:**

728
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
729

730
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
731 732
| -------- | -------------------------------------- |
| 12800003 | Input method client error.             |
H
Hollokin 已提交
733
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
734

Z
zhaolinglan 已提交
735 736 737
**示例:**

```js
H
Hollokin 已提交
738 739
inputMethodController.hideSoftKeyboard().then(() => {
    console.log('Succeeded in hiding softKeyboard.');
Z
zhaolinglan 已提交
740
}).catch((err) => {
H
Hollokin 已提交
741
    console.error('Failed to hideSoftKeyboard: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
742 743 744
});
```

H
Hollokin 已提交
745 746 747 748
### stopInput<sup>(deprecated)</sup>

stopInput(callback: AsyncCallback&lt;boolean&gt;): void

749
结束输入会话。通过点击输入框实现输入会话的开启之后该接口的调用才可生效。使用callback异步回调。
H
Hollokin 已提交
750

H
update  
Hollokin 已提交
751 752
> **说明:** 
>
H
update  
Hollokin 已提交
753
> 从API version 6开始支持,从API version 9开始废弃, 建议使用[stopInputSession()](#stopinputsession9)替代。
H
Hollokin 已提交
754

H
update  
Hollokin 已提交
755
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
H
Hollokin 已提交
756 757 758 759 760

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
H
Hollokin 已提交
761
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当输入法隐藏成功,err为undefined,data为true;否则为错误对象。 |
H
Hollokin 已提交
762 763 764 765

**示例:**

```js
H
Hollokin 已提交
766
inputMethodController.stopInput((error, result) => {
H
Hollokin 已提交
767 768
    if (error !== undefined) {
        console.error('Failed to stopInput: ' + JSON.stringify(error));
H
Hollokin 已提交
769 770 771
        return;
    }
    if (result) {
H
Hollokin 已提交
772
        console.info('Succeeded in stopping input.');
H
Hollokin 已提交
773
    } else {
H
Hollokin 已提交
774
        console.error('Failed to stopInput.');
H
Hollokin 已提交
775 776 777 778 779 780 781 782
    }
});
```

### stopInput<sup>(deprecated)</sup>

stopInput(): Promise&lt;boolean&gt;

783
结束输入会话。通过点击输入框实现输入会话的开启之后该接口的调用才可生效。使用promise异步回调。
H
Hollokin 已提交
784

H
update  
Hollokin 已提交
785 786
> **说明:** 
>
H
update  
Hollokin 已提交
787
> 从API version 6开始支持,从API version 9开始废弃, 建议使用[stopInputSession()](#stopinputsession9)替代。
H
Hollokin 已提交
788

H
update  
Hollokin 已提交
789
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
H
Hollokin 已提交
790 791 792 793 794

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
H
Hollokin 已提交
795
| Promise&lt;boolean&gt; | Promise对象。返回true表示输入法隐藏成功;返回false表示输入法隐藏失败。 |
H
Hollokin 已提交
796 797 798 799

**示例:**

```js
H
Hollokin 已提交
800
inputMethodController.stopInput().then((result) => {
H
Hollokin 已提交
801
    if (result) {
H
Hollokin 已提交
802
        console.info('Succeeded in stopping input.');
H
Hollokin 已提交
803
    } else {
H
Hollokin 已提交
804
        console.error('Failed to stopInput.');
H
Hollokin 已提交
805 806
    }
}).catch((err) => {
H
Hollokin 已提交
807
    console.error('Failed to stopInput: ' + err);
H
Hollokin 已提交
808 809 810
})
```

Z
add doc  
zhaolinglan 已提交
811 812 813 814 815 816 817 818 819 820
### on('selectByRange')<sup>10+</sup>

on(type: 'selectByRange', callback: Callback&lt;Range&gt;): void

订阅输入法应用按范围选中文本事件。使用callback异步回调。

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

**参数:**

Z
add doc  
zhaolinglan 已提交
821 822 823 824
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 设置监听类型。<br/>-type为‘selectByRange’时表示订阅输入法应用按范围选中文本事件监听。 |
| callback | Callback&lt;[Range](./js-apis-inputmethod-InputMethodCommon.md#range)&gt; | 是   | 回调函数,返回需要选中的文本的范围。<br/>开发者需要在回调函数中根据传入的范围选中编辑框中相应文本。 |
Z
add doc  
zhaolinglan 已提交
825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855

**示例:**

```js
inputMethodController.on('selectByRange', (range) => {
    console.info('Succeeded in subscribing selectByRange: start: ' + range.start + " , end: " + range.end);
});
```

### off('selectByRange')<sup>10+</sup>

off(type: 'selectByRange'): void

取消订阅输入法应用按范围选中文本事件。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| type   | string | 是   | 设置监听类型。<br/>-type为‘selectByRange’时表示取消订阅输入法应用按范围选中文本事件监听。 |

**示例:**

```js
inputMethodController.off('selectByRange');
```

### on('selectByMovement')<sup>10+</sup>

856
on(type: 'selectByMovement', callback: Callback&lt;Movement&gt;): void
Z
add doc  
zhaolinglan 已提交
857 858 859 860 861 862 863

订阅输入法应用按光标动作选中文本事件。使用callback异步回调。

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

**参数:**

Z
add doc  
zhaolinglan 已提交
864 865 866 867
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 设置监听类型。<br/>-type为‘selectByMovement’时表示订阅输入法应用按光标移动动作选中文本事件监听。 |
| callback | Callback&lt;[Movement](./js-apis-inputmethod-InputMethodCommon.md#movement)&gt; | 是   | 回调函数,返回需要选中的文本的范围。<br/>开发者需要在回调函数中根据传入的光标动作选中编辑框中相应文本。 |
Z
add doc  
zhaolinglan 已提交
868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896

**示例:**

```js
inputMethodController.on('selectByMovement', (movement) => {
    console.info('Succeeded in subscribing selectByMovement: direction: ' + movement.direction);
});
```

### off('selectByMovement')<sup>10+</sup>

off(type: 'selectByMovement'): void

取消订阅输入法应用按光标动作选中文本事件。

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

**参数:**

| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| type   | string | 是   | 设置监听类型。<br/>-type为‘selectByMovement’时表示取消订阅输入法应用按范围选中文本事件监听。 |

**示例:**

```js
inputMethodController.off('selectByMovement');
```

897
## InputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
898

899
下列API示例中都需使用[getSetting](#inputmethodgetsetting9)获取到InputMethodSetting实例,再通过此实例调用对应方法。
Z
zhouyongfei 已提交
900

H
Hollokin 已提交
901
### on('imeChange')<sup>9+</sup>
902 903 904

on(type: 'imeChange', callback: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void

H
Hollokin 已提交
905
订阅输入法及子类型变化监听事件。使用callback异步回调。
906

H
update  
Hollokin 已提交
907
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
908 909 910 911 912 913

**参数:**

| 参数名   | 类型                            | 必填 | 说明                                                         |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                        | 是   | 设置监听类型。<br/>-type为‘imeChange’时表示订阅输入法及子类型变化监听事件。 |
914
| callback | (inputMethodProperty: [InputMethodProperty](#inputmethodproperty8), inputMethodSubtype: [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)) => void  | 是 | 回调函数,返回输入法属性对象及输入法子类型对象。 |
915 916 917

**示例:**

H
Hollokin 已提交
918
```js
H
Hollokin 已提交
919 920
inputMethodSetting.on('imeChange', (inputMethodProperty, inputMethodSubtype) => {
    console.info('Succeeded in subscribing imeChange: inputMethodProperty: ' + JSON.stringify(inputMethodProperty) + " , inputMethodSubtype: " + JSON.stringify(inputMethodSubtype));
H
Hollokin 已提交
921 922
});
```
923

H
Hollokin 已提交
924
### off('imeChange')<sup>9+</sup>
925

H
Hollokin 已提交
926
off(type: 'imeChange', callback?: (inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype) => void): void
927

H
Hollokin 已提交
928
取消订阅输入法及子类型变化监听事件。使用callback异步回调。
929

H
update  
Hollokin 已提交
930
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
931 932 933 934 935 936

**参数:**

| 参数名   | 类型                            | 必填 | 说明                                                         |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                        | 是   | 设置监听类型。<br/>-type为‘imeChange’时表示取消订阅输入法及子类型变化监听事件。 |
937
| callback | (inputMethodProperty: [InputMethodProperty](#inputmethodproperty8), inputMethodSubtype: [InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)) => void  | 否 | 回调函数,返回取消订阅的输入法属性对象及输入法子类型对象。 |
938 939 940

**示例:**

H
Hollokin 已提交
941
```js
H
Hollokin 已提交
942
inputMethodSetting.off('imeChange');
H
Hollokin 已提交
943
```
944 945 946 947 948

### listInputMethodSubtype<sup>9+</sup>

listInputMethodSubtype(inputMethodProperty: InputMethodProperty, callback: AsyncCallback&lt;Array&lt;InputMethodSubtype&gt;&gt;): void

H
Hollokin 已提交
949
获取指定输入法应用的所有子类型。使用callback异步回调。
950

H
update  
Hollokin 已提交
951
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
952 953 954 955 956

**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
957
| inputMethodProperty | InputMethodProperty| 是 | 子类型所属的输入法应用。 |
958
| callback | AsyncCallback&lt;Array<[InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)>&gt; | 是 | 回调函数,返回指定输入法应用的所有子类型。 |
959

H
Hollokin 已提交
960 961
**错误码:**

962
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
963

964
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
965 966
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
967
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
968

969 970
**示例:**

H
Hollokin 已提交
971
```js
H
update  
Hollokin 已提交
972
let inputMethodProperty = {
H
Hollokin 已提交
973 974 975 976
    packageName: 'com.example.kikakeyboard',
    methodId: 'com.example.kikakeyboard',
    name: 'com.example.kikakeyboard',
    id: 'com.example.kikakeyboard',
977
    extra:{}
H
Hollokin 已提交
978 979
}
try {
H
Hollokin 已提交
980
    inputMethodSetting.listInputMethodSubtype(inputMethodProperty, (err,data) => {
H
Hollokin 已提交
981 982
        if (err !== undefined) {
            console.error('Failed to listInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
983 984
            return;
        }
H
Hollokin 已提交
985
        console.log('Succeeded in listing inputMethodSubtype.');
H
Hollokin 已提交
986 987
    });
} catch (err) {
H
Hollokin 已提交
988
    console.error('Failed to listInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
989
}
990 991 992 993 994 995
```

### listInputMethodSubtype<sup>9+</sup>

listInputMethodSubtype(inputMethodProperty: InputMethodProperty): Promise&lt;Array&lt;InputMethodSubtype&gt;&gt;

H
Hollokin 已提交
996
获取指定输入法应用的所有子类型。使用promise异步回调。
997

H
update  
Hollokin 已提交
998
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
999

H
Hollokin 已提交
1000 1001 1002 1003
**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
1004
| inputMethodProperty | InputMethodProperty| 是 | 子类型所属的输入法应用。 |
H
Hollokin 已提交
1005

1006 1007 1008 1009
**返回值:**

| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
1010
| Promise<Array<[InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)>> | Promise对象,返回指定输入法应用的所有子类型。 |
1011

H
Hollokin 已提交
1012 1013
**错误码:**

1014
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1015

1016
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1017 1018
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
1019
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1020

1021 1022
**示例:**

H
Hollokin 已提交
1023
```js
H
Hollokin 已提交
1024
let inputMethodProperty = {
H
Hollokin 已提交
1025 1026 1027 1028
    packageName: 'com.example.kikakeyboard',
    methodId: 'com.example.kikakeyboard',
    name: 'com.example.kikakeyboard',
    id: 'com.example.kikakeyboard',
1029
    extra:{}
H
Hollokin 已提交
1030 1031
}
try {
H
Hollokin 已提交
1032
    inputMethodSetting.listInputMethodSubtype(inputMethodProperty).then((data) => {
H
Hollokin 已提交
1033
        console.info('Succeeded in listing inputMethodSubtype.');
H
Hollokin 已提交
1034
    }).catch((err) => {
H
Hollokin 已提交
1035
        console.error('Failed to listInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1036 1037
    })
} catch(err) {
H
Hollokin 已提交
1038
    console.error('Failed to listInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1039
}
1040 1041 1042 1043 1044
```

### listCurrentInputMethodSubtype<sup>9+</sup>

listCurrentInputMethodSubtype(callback: AsyncCallback&lt;Array&lt;InputMethodSubtype&gt;&gt;): void
Z
zhaolinglan 已提交
1045

H
Hollokin 已提交
1046
查询当前输入法应用的所有子类型。使用callback异步回调。
1047

H
update  
Hollokin 已提交
1048
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
1049 1050 1051 1052 1053

**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
1054
| callback | AsyncCallback&lt;Array<[InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)>&gt; | 是   | 回调函数,返回当前输入法应用的所有子类型。 |
1055

H
Hollokin 已提交
1056 1057
**错误码:**

1058
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1059

1060
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1061 1062
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
1063
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1064

1065 1066
**示例:**

H
Hollokin 已提交
1067
```js
H
Hollokin 已提交
1068
try {
H
Hollokin 已提交
1069
    inputMethodSetting.listCurrentInputMethodSubtype((err, data) => {
H
Hollokin 已提交
1070 1071
        if (err !== undefined) {
            console.error('Failed to listCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1072 1073
            return;
        }
H
Hollokin 已提交
1074
        console.log('Succeeded in listing currentInputMethodSubtype.');
H
Hollokin 已提交
1075 1076
    });
} catch(err) {
H
Hollokin 已提交
1077
    console.error('Failed to listCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1078
}
1079 1080 1081 1082 1083 1084
```

### listCurrentInputMethodSubtype<sup>9+</sup>

listCurrentInputMethodSubtype(): Promise&lt;Array&lt;InputMethodSubtype&gt;&gt;

H
Hollokin 已提交
1085
查询当前输入法的子类型列表。使用promise异步回调。
1086

H
update  
Hollokin 已提交
1087
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
1088 1089 1090 1091 1092

**返回值:**

| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
1093
| Promise<Array<[InputMethodSubtype](./js-apis-inputmethod-subtype.md#inputmethodsubtype)>> | Promise对象,返回当前输入法应用的所有子类型。 |
1094

H
Hollokin 已提交
1095 1096
**错误码:**

1097
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1098

1099
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1100 1101
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
1102
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1103

1104 1105
**示例:**

H
Hollokin 已提交
1106
```js
H
Hollokin 已提交
1107
try {
H
Hollokin 已提交
1108
    inputMethodSetting.listCurrentInputMethodSubtype().then((data) => {
H
Hollokin 已提交
1109
        console.info('Succeeded in listing currentInputMethodSubtype.');
H
Hollokin 已提交
1110
    }).catch((err) => {
H
Hollokin 已提交
1111
        console.error('Failed to listCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1112 1113
    })
} catch(err) {
H
Hollokin 已提交
1114
    console.error('Failed to listCurrentInputMethodSubtype: ' + JSON.stringify(err));
H
Hollokin 已提交
1115
}
1116 1117 1118 1119 1120
```

### getInputMethods<sup>9+</sup>

getInputMethods(enable: boolean, callback: AsyncCallback&lt;Array&lt;InputMethodProperty&gt;&gt;): void
Z
zhaolinglan 已提交
1121

1122
获取已激活/未激活输入法列表。参数enable取true,返回已激活输入法列表,取false返回未激活输入法列表。已激活/未激活输入法的确切功能当前版本未支持。当前版本中,已激活输入法包括当前使用的输入法,未激活输入法包括当前输入法以外的其他已安装的输入法。使用callback异步回调。
Z
zhaolinglan 已提交
1123

H
update  
Hollokin 已提交
1124
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
1125 1126 1127 1128 1129 1130

**参数:**

| 参数名   | 类型                                                | 必填 | 说明                          |
| -------- | --------------------------------------------------- | ---- | ----------------------------- |
| enable   | boolean                                             | 是   | 指定返回已激活/未激活。       |
1131
| callback | AsyncCallback&lt;Array<[InputMethodProperty](#inputmethodproperty8)>&gt; | 是   | 回调函数,返回已激活/未激活输入法列表。 |
Z
zhaolinglan 已提交
1132

H
Hollokin 已提交
1133 1134
**错误码:**

1135
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1136

1137
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1138 1139
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
1140
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1141

Z
zhaolinglan 已提交
1142 1143
**示例:**

H
Hollokin 已提交
1144
```js
H
Hollokin 已提交
1145
try {
H
Hollokin 已提交
1146
    inputMethodSetting.getInputMethods(true, (err,data) => {
H
Hollokin 已提交
1147 1148
        if (err !== undefined) {
            console.error('Failed to getInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1149 1150
            return;
        }
H
Hollokin 已提交
1151
        console.log('Succeeded in getting inputMethods.');
H
Hollokin 已提交
1152 1153
    });
} catch (err) {
H
Hollokin 已提交
1154
    console.error('Failed to getInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1155
}
Z
zhaolinglan 已提交
1156 1157
```

1158
### getInputMethods<sup>9+</sup>
Z
zhaolinglan 已提交
1159

1160
getInputMethods(enable: boolean): Promise&lt;Array&lt;InputMethodProperty&gt;&gt;
Z
zhaolinglan 已提交
1161

1162
获取已激活/未激活输入法列表。参数enable取true,返回已激活输入法列表,取false返回未激活输入法列表。已激活/未激活输入法的确切功能当前版本未支持。当前版本中,已激活输入法包括当前使用的输入法,未激活输入法包括当前输入法以外的其他已安装的输入法。使用promise异步回调。
Z
zhaolinglan 已提交
1163

H
update  
Hollokin 已提交
1164
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
1165 1166 1167 1168 1169 1170 1171

**参数:**

| 参数名 | 类型    | 必填 | 说明                    |
| ------ | ------- | ---- | ----------------------- |
| enable | boolean | 是   | 指定返回已激活/未激活。 |

H
Hollokin 已提交
1172 1173
**错误码:**

1174
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1175

1176
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1177 1178
| -------- | -------------------------------------- |
| 12800001 | Package manager error.                 |
H
Hollokin 已提交
1179
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1180

Z
zhaolinglan 已提交
1181 1182 1183 1184
**返回值:**

| 类型                                                         | 说明                          |
| ------------------------------------------------------------ | ----------------------------- |
H
Hollokin 已提交
1185
| Promise<Array<[InputMethodProperty](#inputmethodproperty8)>> | Promise对象,返回已激活/未激活输入法列表。 |
Z
zhaolinglan 已提交
1186 1187 1188

**示例:**

H
Hollokin 已提交
1189
```js
H
Hollokin 已提交
1190
try {
H
Hollokin 已提交
1191
    inputMethodSetting.getInputMethods(true).then((data) => {
H
Hollokin 已提交
1192
        console.info('Succeeded in getting inputMethods.');
H
Hollokin 已提交
1193
    }).catch((err) => {
H
Hollokin 已提交
1194
        console.error('Failed to getInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1195 1196
    })
} catch(err) {
H
Hollokin 已提交
1197
    console.error('Failed to getInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1198
}
Z
zhaolinglan 已提交
1199 1200
```

H
Hollokin 已提交
1201 1202
### showOptionalInputMethods<sup>9+</sup>

H
Hollokin 已提交
1203
showOptionalInputMethods(callback: AsyncCallback&lt;boolean&gt;): void
H
Hollokin 已提交
1204

H
Hollokin 已提交
1205
显示输入法选择对话框。使用callback异步回调。
H
Hollokin 已提交
1206

H
update  
Hollokin 已提交
1207
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
H
Hollokin 已提交
1208 1209 1210 1211 1212

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
H
Hollokin 已提交
1213
| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。当输入法选择对话框显示成功,err为undefined,data为true;否则为错误对象。 |
H
Hollokin 已提交
1214

H
Hollokin 已提交
1215 1216
**错误码:**

1217
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1218

1219
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1220
| -------- | -------------------------------------- |
H
Hollokin 已提交
1221
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1222

H
Hollokin 已提交
1223 1224
**示例:**

H
Hollokin 已提交
1225
```js
H
Hollokin 已提交
1226
try {
H
Hollokin 已提交
1227
    inputMethodSetting.showOptionalInputMethods((err, data) => {
H
Hollokin 已提交
1228 1229
        if (err !== undefined) {
            console.error('Failed to showOptionalInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1230 1231
            return;
        }
H
Hollokin 已提交
1232
        console.info('Succeeded in showing optionalInputMethods.');
H
Hollokin 已提交
1233 1234
    });
} catch (err) {
H
Hollokin 已提交
1235
    console.error('Failed to showOptionalInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1236 1237 1238 1239 1240
}
```

### showOptionalInputMethods<sup>9+</sup>

H
Hollokin 已提交
1241
showOptionalInputMethods(): Promise&lt;boolean&gt;
H
Hollokin 已提交
1242

H
Hollokin 已提交
1243
显示输入法选择对话框。使用promise异步回调。
H
Hollokin 已提交
1244

H
update  
Hollokin 已提交
1245
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
H
Hollokin 已提交
1246 1247 1248 1249 1250

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
H
Hollokin 已提交
1251
| Promise&lt;boolean&gt; | Promise对象。返回true表示输入法选择对话框显示成功;返回false表示输入法选择对话框显示失败。 |
H
Hollokin 已提交
1252

H
Hollokin 已提交
1253 1254
**错误码:**

1255
以下错误码的详细介绍请参见[输入法框架错误码](../errorcodes/errorcode-inputmethod-framework.md)
H
Hollokin 已提交
1256

1257
| 错误码ID | 错误信息                             |
H
Hollokin 已提交
1258
| -------- | -------------------------------------- |
H
Hollokin 已提交
1259
| 12800008 | Input method manager service error. |
H
Hollokin 已提交
1260

H
Hollokin 已提交
1261 1262
**示例:**

H
Hollokin 已提交
1263
```js
H
Hollokin 已提交
1264
inputMethodSetting.showOptionalInputMethods().then((data) => {
H
Hollokin 已提交
1265
    console.info('Succeeded in showing optionalInputMethods.');
H
Hollokin 已提交
1266
}).catch((err) => {
H
Hollokin 已提交
1267
    console.error('Failed to showOptionalInputMethods: ' + JSON.stringify(err));
H
Hollokin 已提交
1268 1269 1270
})
```

H
Hollokin 已提交
1271
### listInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
1272 1273 1274

listInputMethod(callback: AsyncCallback&lt;Array&lt;InputMethodProperty&gt;&gt;): void

H
Hollokin 已提交
1275
查询已安装的输入法列表。使用callback异步回调。
Z
zhouyongfei 已提交
1276

H
update  
Hollokin 已提交
1277 1278
> **说明:** 
>
H
update  
Hollokin 已提交
1279
> 从API version 8开始支持,从API version 9开始废弃, 建议使用[getInputMethods](#getinputmethods9)替代。
H
Hollokin 已提交
1280

H
update  
Hollokin 已提交
1281
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
1282

1283
**参数:**
B
bmeangel 已提交
1284

T
explain  
tianyu 已提交
1285 1286
| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
1287
| callback | AsyncCallback&lt;Array<[InputMethodProperty](#inputmethodproperty8)>&gt; | 是   | 回调函数,返回已安装的输入法列表。 |
Z
zhouyongfei 已提交
1288

1289
**示例:**
T
explain  
tianyu 已提交
1290

1291
```js
H
Hollokin 已提交
1292
inputMethodSetting.listInputMethod((err,data) => {
H
Hollokin 已提交
1293 1294
    if (err !== undefined) {
        console.error('Failed to listInputMethod: ' + JSON.stringify(err));
1295
        return;
1296
    }
H
Hollokin 已提交
1297
    console.log('Succeeded in listing inputMethod.');
1298
 });
1299
```
Z
zhouyongfei 已提交
1300

H
Hollokin 已提交
1301
### listInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
1302

Z
zhaolinglan 已提交
1303
listInputMethod(): Promise&lt;Array&lt;InputMethodProperty&gt;&gt;
Z
zhouyongfei 已提交
1304

H
Hollokin 已提交
1305
查询已安装的输入法列表。使用promise异步回调。
Z
zhouyongfei 已提交
1306

H
update  
Hollokin 已提交
1307 1308
> **说明:**
>
H
update  
Hollokin 已提交
1309
> 从API version 8开始支持,从API version 9开始废弃, 建议使用[getInputMethods](#getinputmethods9-1)替代。
H
Hollokin 已提交
1310

H
update  
Hollokin 已提交
1311
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
1312

1313
**返回值:**
B
bmeangel 已提交
1314

T
explain  
tianyu 已提交
1315 1316
| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
H
Hollokin 已提交
1317
| Promise<Array<[InputMethodProperty](#inputmethodproperty8)>> | Promise对象,返回已安装输入法列表。 |
Z
zhouyongfei 已提交
1318

1319
**示例:**
1320 1321

```js
H
Hollokin 已提交
1322
inputMethodSetting.listInputMethod().then((data) => {
H
Hollokin 已提交
1323
    console.info('Succeeded in listing inputMethod.');
Z
zhaolinglan 已提交
1324
}).catch((err) => {
H
Hollokin 已提交
1325
    console.error('Failed to listInputMethod: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
1326
})
1327
```
Z
zhouyongfei 已提交
1328

H
Hollokin 已提交
1329
### displayOptionalInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
1330 1331 1332

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

H
Hollokin 已提交
1333
显示输入法选择对话框。使用callback异步回调。
Z
zhouyongfei 已提交
1334

H
update  
Hollokin 已提交
1335 1336
> **说明:**
>
H
update  
Hollokin 已提交
1337
> 从API version 8开始支持,从API version 9开始废弃, 建议使用[showOptionalInputMethods()](#showoptionalinputmethods9)替代。
H
Hollokin 已提交
1338

H
update  
Hollokin 已提交
1339
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
1340

1341
**参数:**
Z
zhouyongfei 已提交
1342 1343 1344

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
H
Hollokin 已提交
1345
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当输入法选择对话框显示成功。err为undefined,否则为错误对象。 |
Z
zhouyongfei 已提交
1346

1347
**示例:**
1348 1349

```js
H
Hollokin 已提交
1350
inputMethodSetting.displayOptionalInputMethod((err) => {
H
Hollokin 已提交
1351 1352
    if (err !== undefined) {
        console.error('Failed to displayOptionalInputMethod: ' + JSON.stringify(err));
1353 1354
        return;
    }
H
Hollokin 已提交
1355
    console.info('Succeeded in displaying optionalInputMethod.');
1356
});
1357
```
Z
zhouyongfei 已提交
1358

H
Hollokin 已提交
1359
### displayOptionalInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
1360

1361 1362
displayOptionalInputMethod(): Promise&lt;void&gt;

H
Hollokin 已提交
1363
显示输入法选择对话框。使用promise异步回调。
1364

H
update  
Hollokin 已提交
1365 1366
> **说明:**
>
1367
> 从API version 8开始支持,从API version 9开始废弃, 建议使用[showOptionalInputMethods()](#showoptionalinputmethods9-1)替代。
H
Hollokin 已提交
1368

H
update  
Hollokin 已提交
1369
**系统能力:** SystemCapability.MiscServices.InputMethodFramework
1370 1371 1372 1373 1374

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
H
Hollokin 已提交
1375
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1376 1377 1378 1379

**示例:**

```js
H
Hollokin 已提交
1380
inputMethodSetting.displayOptionalInputMethod().then(() => {
H
Hollokin 已提交
1381
    console.info('Succeeded in displaying optionalInputMethod.');
1382
}).catch((err) => {
H
Hollokin 已提交
1383
    console.error('Failed to displayOptionalInputMethod: ' + JSON.stringify(err));
1384 1385
})
```