js-apis-inputmethod.md 49.6 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 37 38 39 40 41
| name<sup>9+</sup>  | string | 是 | 否 | 输入法内部名称。必填。|
| id<sup>9+</sup>    | string | 是 | 否 | 输入法唯一标识。必填。|
| label<sup>9+</sup>    | string | 是 | 否 | 输入法对外显示名称。 非必填。|
| icon<sup>9+</sup>    | string | 是 | 否 | 输入法图标数据。非必填。 |
| iconId<sup>9+</sup>    | number | 是 | 否 | 输入法图标资源号。非必填。 |
| extra<sup>9+</sup>    | object | 是 | 是 | 输入法扩展信息。 必填。|
| 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 已提交
42

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

getController(): InputMethodController

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

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

**返回值:**

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

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

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

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

65 66
**示例:**

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

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

getSetting(): InputMethodSetting

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

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

**返回值:**

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

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

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

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

93 94
**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

getCurrentInputMethod(): InputMethodProperty

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

254 255
**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

315 316
**示例:**

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

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

getCurrentInputMethodSubtype(): InputMethodSubtype

获取当前输入法子类型。

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

**返回值:**

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

**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

390 391
**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

444 445
**示例:**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

H
Hollokin 已提交
512 513
## InputMethodController

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

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

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

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

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

**参数:**

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

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

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

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

539 540 541
**示例:**

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

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

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

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

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

**返回值:**

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

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

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

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

582 583 584
**示例:**

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

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

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

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

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

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

**返回值:**

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

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

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

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

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

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

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

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

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

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

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

**返回值:**

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

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

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

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

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

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

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

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

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

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

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

**参数:**

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

**示例:**

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

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

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

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

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

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

**返回值:**

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

**示例:**

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

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

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

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

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

**参数:**

Z
add doc  
zhaolinglan 已提交
820 821 822 823
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 设置监听类型。<br/>-type为‘selectByRange’时表示订阅输入法应用按范围选中文本事件监听。 |
| callback | Callback&lt;[Range](./js-apis-inputmethod-InputMethodCommon.md#range)&gt; | 是   | 回调函数,返回需要选中的文本的范围。<br/>开发者需要在回调函数中根据传入的范围选中编辑框中相应文本。 |
Z
add doc  
zhaolinglan 已提交
824 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

**示例:**

```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>

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

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

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

**参数:**

Z
add doc  
zhaolinglan 已提交
863 864 865 866
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 设置监听类型。<br/>-type为‘selectByMovement’时表示订阅输入法应用按光标移动动作选中文本事件监听。 |
| callback | Callback&lt;[Movement](./js-apis-inputmethod-InputMethodCommon.md#movement)&gt; | 是   | 回调函数,返回需要选中的文本的范围。<br/>开发者需要在回调函数中根据传入的光标动作选中编辑框中相应文本。 |
Z
add doc  
zhaolinglan 已提交
867 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

**示例:**

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

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

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

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

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

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

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

**参数:**

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

**示例:**

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

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

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

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

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

**参数:**

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

**示例:**

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

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

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

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

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

**参数:**

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

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

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

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

968 969
**示例:**

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

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

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

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

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

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

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

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

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

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

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

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

1020 1021
**示例:**

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

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

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

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

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

**参数:**

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

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

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

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

1064 1065
**示例:**

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

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

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

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

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

**返回值:**

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

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

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

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

1103 1104
**示例:**

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

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

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

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

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

**参数:**

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

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

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

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

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

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

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

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

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

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

**参数:**

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

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

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

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

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

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

**示例:**

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

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

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

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

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

**参数:**

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

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

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

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

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

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

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

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

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

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

**返回值:**

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

1318
**示例:**
1319 1320

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

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

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

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

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

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

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

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

1346
**示例:**
1347 1348

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

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

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

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

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

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

**返回值:**

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

**示例:**

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