js-apis-inputmethod.md 35.4 KB
Newer Older
Z
zhouyongfei 已提交
1 2
# 输入法框架

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

5
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
6
>
Z
zhouyongfei 已提交
7 8 9 10 11 12
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

```
13
import inputMethod from '@ohos.inputmethod';
14
import InputMethodSubtype from './@ohos.inputMethodSubtype';
Z
zhouyongfei 已提交
15 16 17 18 19 20
```

## inputMethod<sup>8+</sup>

常量值。

21
**系统能力**:以下各项对应的系统能力均为SystemCapability.MiscServices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
22

Z
zhouyongfei 已提交
23 24
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Z
刷新  
zhouyongfei 已提交
25
| MAX_TYPE_NUM | number | 是 | 否 | 可支持的最大输入法个数。 |
Z
zhouyongfei 已提交
26 27


28
## InputMethodProperty<sup>8+</sup>
Z
zhouyongfei 已提交
29 30 31

输入法应用属性。

32
**系统能力**:以下各项对应的系统能力均为SystemCapability.MiscServices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
33

Z
zhouyongfei 已提交
34 35
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
H
Hollokin 已提交
36 37
| packageName<sup>(deprecated)</sup> | string | 是 | 否 | 包名。 |
| methodId<sup>(deprecated)</sup> | string | 是 | 否 | Ability名。 |
H
Hollokin 已提交
38 39 40 41 42 43
| name<sup>9+</sup>  | string | 是 | 否 | 包名,非必填项。 |
| id<sup>9+</sup>    | string | 是 | 否 | Ability名,非必填项。 |
| label<sup>9+</sup>    | string | 是 | 否 | 输入法标签,非必填项。| 
| icon<sup>9+</sup>    | string | 是 | 否 | 输入法图标,非必填项。 |
| iconId<sup>9+</sup>    | number | 是 | 否 | 输入法图标id,非必填项。 |
| extra<sup>9+</sup>    | object | 是 | 否 | 输入法其他信息,非必填项。 |
Z
zhouyongfei 已提交
44

H
Hollokin 已提交
45
## inputMethod.getInputMethodController<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
46 47 48

getInputMethodController(): InputMethodController

49
获取客户端实例[InputMethodController](#inputmethodcontroller)
Z
zhouyongfei 已提交
50

51
> **说明:** 
52
> 从API version 9开始废弃, 建议使用[getController](#inputmethodgetcontroller9)替代
53 54 55
>
> 从 API version 6开始支持。

56
**系统能力**:SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
57

58
**返回值:**
Z
zhouyongfei 已提交
59

60 61 62
| 类型                                            | 说明                     |
| ----------------------------------------------- | ------------------------ |
| [InputMethodController](#inputmethodcontroller) | 回调返回当前客户端实例。 |
Z
zhouyongfei 已提交
63

64
**示例:**
T
explain  
tianyu 已提交
65

66
```js
Z
zhouyongfei 已提交
67
  var InputMethodController = inputMethod.getInputMethodController();
68
```
69

70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89
## inputMethod.getController<sup>9+</sup>

getController(): InputMethodController

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

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

**返回值:**

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

**示例:**

```js
  var InputMethodController = inputMethod.getController();
```

H
Hollokin 已提交
90
## inputMethod.getInputMethodSetting<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
91 92 93

getInputMethodSetting(): InputMethodSetting

94
获取客户端设置实例[InputMethodSetting](#inputmethodsetting8)
Z
zhouyongfei 已提交
95

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

101
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
102

103
**返回值:**
Z
zhouyongfei 已提交
104

T
explain  
tianyu 已提交
105 106
| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
107
| [InputMethodSetting](#inputmethodsetting8) | 回调返回当前客户端设置实例。 |
Z
zhouyongfei 已提交
108 109


110
**示例:**
111 112

```js
Z
zhouyongfei 已提交
113
  var InputMethodSetting = inputMethod.getInputMethodSetting();
114
```
115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136

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

getSetting(): InputMethodSetting

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

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

**返回值:**

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


**示例:**

```js
  var InputMethodSetting = inputMethod.getSetting();
```

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

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

141
切换输入法。此接口仅可在Stage模型下使用。使用callback形式返回结果。参数个数为2,否则抛出异常。
142

143 144
**需要权限**: ohos.permission.CONNECT_IME_ABILITY

Z
zhaolinglan 已提交
145
**系统能力**:SystemCapability.MiscServices.InputMethodFramework
G
gaoxiang 已提交
146 147 148 149 150

**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
151
  |target | [InputMethodProperty](#inputmethodproperty8) | 是 | 传入要切换的目标输入法。 |
G
gaoxiang 已提交
152 153 154 155 156 157
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法切换是否成功。 |


**示例:**

```js
H
Hollokin 已提交
158 159 160 161 162 163 164 165 166 167 168 169 170
try{
    inputMethod.switchInputMethod({packageName:'com.example.kikakeyboard', methodId:'com.example.kikakeyboard'}, (err, result) => {
        if (err) {
            console.error('switchInputMethod err: ' + JSON.stringify(err));
            return;
        }
        if (result) {
            console.info('Success to switchInputMethod.(callback)');
        } else {
            console.error('Failed to switchInputMethod.(callback)');
        }
    });
} catch(err) {
H
Hollokin 已提交
171
    console.error('switchInputMethod err: ' + JSON.stringify(err));
H
Hollokin 已提交
172
}
G
gaoxiang 已提交
173
```
G
gaoxiang 已提交
174
## inputMethod.switchInputMethod<sup>9+</sup>
Z
zhaolinglan 已提交
175
switchInputMethod(target: InputMethodProperty): Promise&lt;boolean&gt;
G
gaoxiang 已提交
176

177
切换输入法。此接口仅可在Stage模型下使用。使用promise形式返回结果。参数个数为1,否则抛出异常。
G
gaoxiang 已提交
178

179 180
**需要权限**: ohos.permission.CONNECT_IME_ABILITY

Z
zhaolinglan 已提交
181
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
G
gaoxiang 已提交
182

G
gaoxiang 已提交
183
**参数:**
G
gaoxiang 已提交
184 185 186

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

G
gaoxiang 已提交
189
**返回值:**
B
bmeangel 已提交
190

G
gaoxiang 已提交
191 192
  | 类型                                      | 说明                         |
  | ----------------------------------------- | ---------------------------- |
193
  | Promise\<boolean> | 回调返回切换后的输入法。 |
G
gaoxiang 已提交
194

G
gaoxiang 已提交
195 196 197
**示例:**

```js
H
Hollokin 已提交
198 199 200 201 202 203 204 205
try {
    inputMethod.switchInputMethod({packageName:'com.example.kikakeyboard', methodId:'com.example.kikakeyboard'}).then((result) => {
        if (result) {
            console.info('Success to switchInputMethod.(promise)');
        } else {
            console.error('Failed to switchInputMethod.(promise)');
        }
    }).catch((err) => {
H
Hollokin 已提交
206
        console.error('switchInputMethod promise err: ' + JSON.stringify(err));
H
Hollokin 已提交
207 208
    })
} catch(err) {
H
Hollokin 已提交
209
    console.error('switchInputMethod err: ' + JSON.stringify(err));
H
Hollokin 已提交
210
}
G
gaoxiang 已提交
211
```
212

Z
zhaolinglan 已提交
213 214 215 216
## inputMethod.getCurrentInputMethod<sup>9+</sup>

getCurrentInputMethod(): InputMethodProperty

Z
zhaolinglan 已提交
217
获取当前输入法扩展应用,提供同步接口,返回当前输入法属性对象。
Z
zhaolinglan 已提交
218 219 220 221 222

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

**返回值:**

Z
zhaolinglan 已提交
223 224 225
| 类型                                         | 说明                     |
| -------------------------------------------- | ------------------------ |
| [InputmethodProperty](#inputmethodproperty8) | 返回当前输入法属性对象。 |
Z
zhaolinglan 已提交
226 227 228 229 230 231 232

**示例:**

```js
var currentIme = inputMethod.getCurrentInputMethod();
```

233 234 235 236
## inputMethod.switchCurrentInputMethodSubtype<sup>9+</sup>

switchCurrentInputMethodSubtype(target: InputMethodSubtype, callback: AsyncCallback<boolean>): void

H
Hollokin 已提交
237
在当前输入法应用内切换子类型。
238 239 240 241 242 243 244 245 246

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
247
|target |  [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
248 249 250 251 252
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法子类型切换是否成功。 |

**示例:**

```js
H
Hollokin 已提交
253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    inputMethod.switchCurrentInputMethodSubtype(inputMethodSubProperty, (err, result) => {
        if (err) {
            console.error('switchCurrentInputMethodSubtype err: ' + JSON.stringify(err));
            return;
        }
        if (result) {
            console.info('Success to switchCurrentInputMethodSubtype.(callback)');
        } else {
            console.error('Failed to switchCurrentInputMethodSubtype.(callback)');
        }
    });
} catch(err) {
H
Hollokin 已提交
270
    console.error('switchCurrentInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
271
}
272 273 274 275 276 277
```

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

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

H
Hollokin 已提交
278
在当前输入法应用内切换子类型。此接口仅可在Stage模型下使用。使用promise形式返回结果。参数个数为1,否则抛出异常。
279 280 281 282 283 284 285 286 287

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
288
|target |  [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
289 290 291 292

**示例:**

```js
H
Hollokin 已提交
293 294 295 296 297 298 299 300 301 302 303 304
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    inputMethod.switchCurrentInputMethodSubtype(inputMethodSubProperty).then((result) => {
        if (result) {
            console.info('Success to switchCurrentInputMethodSubtype.(promise)');
        } else {
            console.error('Failed to switchCurrentInputMethodSubtype.(promise)');
        }
    }).catch((err) => {
H
Hollokin 已提交
305
        console.error('switchCurrentInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
306 307
    })
} catch(err) {
H
Hollokin 已提交
308
    console.error('switchCurrentInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
309
}
310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325
```

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

getCurrentInputMethodSubtype(): InputMethodSubtype

获取当前输入法子类型。

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**返回值:**

| 类型                                         | 说明                     |
| -------------------------------------------- | ------------------------ |
326
| [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype) | 返回当前输入法子类型对象。 |
327 328 329 330 331 332 333 334 335 336 337

**示例:**

```js
var currentImeSubType = inputMethod.getCurrentInputMethodSubtype();
```

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

switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, callback: AsyncCallback<boolean>): void

H
Hollokin 已提交
338
切换至指定输入法应用的指定子类型,用于跨输入法应用切换子类型。
339 340 341 342 343 344 345 346 347

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
348 349
|inputMethodProperty |  [InputMethodProperty](#inputmethodproperty8)| 是 | 传入要切换的目标输入法。 |
|inputMethodSubtype |  [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
350 351 352 353 354
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法和子类型切换是否成功。 |

**示例:**

```js
H
Hollokin 已提交
355 356 357 358
let inputMethodProperty = {
    packageName:"com.example.kikakeyboard",
    methodId:"ServiceExtAbility"
}
H
Hollokin 已提交
359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    inputMethod.switchCurrentInputMethodAndSubtype(inputMethodProperty, inputMethodSubProperty, (err,result) => {
        if (err) {
            console.error('switchCurrentInputMethodAndSubtype err: ' + JSON.stringify(err));
            return;
        }
        if (result) {
            console.info('Success to switchCurrentInputMethodAndSubtype.(callback)');
        } else {
            console.error('Failed to switchCurrentInputMethodAndSubtype.(callback)');
        }
    });
} catch (err) {
H
Hollokin 已提交
376
    console.error('switchCurrentInputMethodAndSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
377
}
378 379 380 381 382 383
```

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

switchCurrentInputMethodAndSubtype(inputMethodProperty: InputMethodProperty, inputMethodSubtype: InputMethodSubtype, ): Promise&lt;boolean&gt;

H
Hollokin 已提交
384
切换至指定输入法应用的指定子类型,用于跨输入法应用切换子类型。参数个数为1,否则抛出异常。
385 386 387 388 389 390 391 392 393

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
394 395
|inputMethodProperty |  [InputMethodProperty](#inputmethodproperty8)| 是 | 传入要切换的目标输入法。 |
|inputMethodSubtype |  [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)| 是 | 传入要切换的目标输入法子类型。 |
396 397 398 399

**示例:**

```js
H
Hollokin 已提交
400 401 402 403
let inputMethodProperty = {
    packageName:"com.example.kikakeyboard",
    methodId:"ServiceExtAbility"
}
H
Hollokin 已提交
404 405 406 407 408 409 410 411 412 413 414 415 416 417 418
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    inputMethod.switchCurrentInputMethodAndSubtype(property, subType).then((result) => {
        if (result) {
            console.info('Success to switchCurrentInputMethodAndSubtype.(promise)');
        } else {
            console.error('Failed to switchCurrentInputMethodAndSubtype.(promise)');
        }
    }).catch((err) => {
        console.error('switchCurrentInputMethodAndSubtype promise err: ' + err);
    })
} catch(err) {
H
Hollokin 已提交
419
    console.error('switchCurrentInputMethodAndSubtype promise err: ' + err);
H
Hollokin 已提交
420
}
421 422
```

423
## InputMethodController
Z
zhouyongfei 已提交
424

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

H
Hollokin 已提交
427
### stopInput<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
428 429 430

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

431
隐藏输入法。使用callback形式返回结果。参数个数为1,否则抛出异常。
Z
zhouyongfei 已提交
432

H
Hollokin 已提交
433
> **说明:** 
434
> 从API version 9开始废弃, 建议使用[stopInputSession](#stopinputsession9)替代
H
Hollokin 已提交
435 436 437
>
> 从 API version 6开始支持。

438
**系统能力**:SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
439

440
**参数:**
Z
zhouyongfei 已提交
441

T
explain  
tianyu 已提交
442 443 444
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法隐藏是否成功。 |
Z
zhouyongfei 已提交
445

446
**示例:**
Z
zhouyongfei 已提交
447

448
```js
Z
zhaolinglan 已提交
449
InputMethodController.stopInput((error, result) => {
Z
zhaolinglan 已提交
450
    if (error) {
Z
zhaolinglan 已提交
451
        console.error('failed to stopInput because: ' + JSON.stringify(error));
452 453
        return;
    }
Z
zhaolinglan 已提交
454
    if (result) {
Z
zhaolinglan 已提交
455
        console.info('Success to stopInput.(callback)');
Z
zhaolinglan 已提交
456
    } else {
Z
zhaolinglan 已提交
457
        console.error('Failed to stopInput.(callback)');
Z
zhaolinglan 已提交
458
    }
459
});
Z
zhouyongfei 已提交
460 461
```

H
Hollokin 已提交
462
### stopInput<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
463 464 465

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

466
隐藏输入法。使用promise形式返回结果。参数个数为0,否则抛出异常。
Z
zhouyongfei 已提交
467

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

473
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
474

475
**返回值:**
Z
zhouyongfei 已提交
476

T
explain  
tianyu 已提交
477 478 479
| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回输入法隐藏是否成功。 |
Z
zhouyongfei 已提交
480

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

483
```js
Z
zhaolinglan 已提交
484 485
InputMethodController.stopInput().then((result) => {
    if (result) {
Z
zhaolinglan 已提交
486
        console.info('Success to stopInput.(promise)');
Z
zhaolinglan 已提交
487
    } else {
Z
zhaolinglan 已提交
488
        console.error('Failed to stopInput.(promise)');
Z
zhaolinglan 已提交
489 490
    }
}).catch((err) => {
Z
zhaolinglan 已提交
491
    console.error('stopInput promise err: ' + err);
Z
zhaolinglan 已提交
492
})
Z
zhouyongfei 已提交
493 494
```

495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511
### stopInputSession<sup>9+</sup>

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

隐藏输入法。使用callback形式返回结果。参数个数为1,否则抛出异常。

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法隐藏是否成功。 |

**示例:**

```js
H
Hollokin 已提交
512 513 514
try {
    InputMethodController.stopInputSession((error, result) => {
        if (error) {
H
Hollokin 已提交
515
            console.error('stopInputSession err: ' + JSON.stringify(error));
H
Hollokin 已提交
516 517 518 519 520 521 522 523
            return;
        }
        if (result) {
            console.info('Success to stopInputSession.(callback)');
        } else {
            console.error('Failed to stopInputSession.(callback)');
        }
    });
H
Hollokin 已提交
524 525
} catch(error) {
    console.error('stopInputSession err: ' + JSON.stringify(error));
H
Hollokin 已提交
526
}
527 528 529 530 531 532
```

### stopInputSession

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

H
update  
Hollokin 已提交
533
隐藏输入法。使用promise形式返回结果。
534 535 536 537 538 539 540 541 542 543 544 545

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

**返回值:**

| 类型 | 说明 |
| -------- | -------- |
| Promise&lt;boolean&gt; | 返回输入法隐藏是否成功。 |

**示例:**

```js
H
Hollokin 已提交
546 547 548 549 550 551 552 553
try {
    InputMethodController.stopInputSession().then((result) => {
        if (result) {
            console.info('Success to stopInputSession.(promise)');
        } else {
            console.error('Failed to stopInputSession.(promise)');
        }
    }).catch((err) => {
H
Hollokin 已提交
554
        console.error('stopInputSession err: ' + JSON.stringify(err));
H
Hollokin 已提交
555 556
    })
} catch(err) {
H
Hollokin 已提交
557
    console.error('stopInputSession err: ' + JSON.stringify(err));
H
Hollokin 已提交
558
}
559 560
```

561
### showSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
562

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

565
显示软键盘,使用callback异步回调。参数个数为1,否则抛出异常。
Z
zhaolinglan 已提交
566

Z
zhaolinglan 已提交
567
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
568 569 570

**参数:**

Z
zhaolinglan 已提交
571
| 参数名   | 参数类型                  | 必填 | 说明       |
Z
zhaolinglan 已提交
572 573
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zhaolinglan 已提交
574 575 576 577

**示例:**

```js
Z
zhaolinglan 已提交
578
InputMethodController.showSoftKeyboard((err) => {
Z
zhaolinglan 已提交
579
    if (err === undefined) {
Z
zhaolinglan 已提交
580
        console.info('showSoftKeyboard success');
Z
zhaolinglan 已提交
581
    } else {
Z
zhaolinglan 已提交
582
        console.error('showSoftKeyboard failed because : ' + JSON.stringify(err));
Z
zhaolinglan 已提交
583 584 585 586
    }
})
```

587
### showSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
588

Z
zhaolinglan 已提交
589
showSoftKeyboard(): Promise&lt;void&gt;
Z
zhaolinglan 已提交
590

591
显示软键盘,使用Promise异步回调。参数个数为0,否则抛出异常。
Z
zhaolinglan 已提交
592

Z
zhaolinglan 已提交
593
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
594 595 596

**返回值:**

Z
zhaolinglan 已提交
597 598 599
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zhaolinglan 已提交
600 601 602 603

**示例:**

```js
Z
zhaolinglan 已提交
604 605 606
InputMethodController.showSoftKeyboard().then(async (err) => {
    console.log('showSoftKeyboard success');
}).catch((err) => {
Z
zhaolinglan 已提交
607
    console.error('showSoftKeyboard promise err: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
608 609 610
});
```

611
### hideSoftKeyboard<sup>9+</sup>
Z
zhaolinglan 已提交
612

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

615
隐藏软键盘,使用callback异步回调。参数个数为1,否则抛出异常。
Z
zhaolinglan 已提交
616

Z
zhaolinglan 已提交
617
**系统能力:**  SystemCapability.MiscServices.InputMethodFramework
Z
zhaolinglan 已提交
618 619 620

**参数:**

Z
zhaolinglan 已提交
621 622 623
| 参数名   | 参数类型                  | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zhaolinglan 已提交
624 625 626 627

**示例:**

```js
Z
zhaolinglan 已提交
628
InputMethodController.hideSoftKeyboard((err) => {
Z
zhaolinglan 已提交
629
    if (err === undefined) {
Z
zhaolinglan 已提交
630
        console.info('hideSoftKeyboard success');
Z
zhaolinglan 已提交
631
    } else {
Z
zhaolinglan 已提交
632
        console.error('hideSoftKeyboard failed because : ' + JSON.stringify(err));
Z
zhaolinglan 已提交
633 634 635 636
    }
})
```

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

Z
zhaolinglan 已提交
639
hideSoftKeyboard(): Promise&lt;void&gt;
Z
zhaolinglan 已提交
640

641
隐藏软键盘,使用Promise异步回调。参数个数为0,否则抛出异常。
Z
zhaolinglan 已提交
642

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

**返回值:**

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

**示例:**

```js
Z
zhaolinglan 已提交
654 655 656
InputMethodController.hideSoftKeyboard().then(async (err) => {
    console.log('hideSoftKeyboard success');
}).catch((err) => {
Z
zhaolinglan 已提交
657
    console.error('hideSoftKeyboard promise err: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
658 659 660
});
```

661
## InputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
662

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

665
### on('imeChange')<a name="imeChange"></a><sup>9+</sup>
666 667 668 669 670 671 672 673 674 675 676 677

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

订阅输入法及子类型变化监听事件,使用callback回调返回变化了的输入法及子类型的相关实例。参数个数为3,参数1和参数2为napi_object,参数3为napi_function,否则抛出异常。

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

**参数:**

| 参数名   | 类型                            | 必填 | 说明                                                         |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                        | 是   | 设置监听类型。<br/>-type为‘imeChange’时表示订阅输入法及子类型变化监听事件。 |
678
| callback | [InputMethodProperty](#inputmethodproperty8), [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype) | 是 | 回调返回输入法及子类型相关实例。 |
679 680 681 682 683 684 685 686 687 688

**示例:**

  ```js
  InputMethodEngine.on('imeChange', (inputMethodProperty, inputMethodSubtype) => {
      InputMethodProperty = inputMethodProperty;
      InputMethodSubtype = inputMethodSubtype;
  });
  ```

H
Hollokin 已提交
689
### off('imeChange')<a name="imeChange"></a><sup>9+</sup>
690 691 692 693 694 695 696 697 698 699 700 701

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

取消订阅输入法及子类型变化监听事件,使用callback回调返回取消订阅的输入法及子类型的相关实例。必选参数个数为1,参数1为string,可选参数2为napi_function,否则抛出异常。

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

**参数:**

| 参数名   | 类型                            | 必填 | 说明                                                         |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                        | 是   | 设置监听类型。<br/>-type为‘imeChange’时表示取消订阅输入法及子类型变化监听事件。 |
702
| callback | [InputMethodProperty](#inputmethodproperty8), [InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype) | 否 | 回调返回输入法及子类型相关实例。 |
703 704 705 706 707 708 709 710 711 712 713

**示例:**

  ```js
  InputMethodAbility.off('imeChange');
  ```

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

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

H
Hollokin 已提交
714
获取指定输入法应用的所有子类型。使用callback形式返回结果。参数个数为2,否则抛出异常。
715 716 717 718 719 720 721

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

**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
H
Hollokin 已提交
722
| inputMethodProperty | InputMethodProperty| 是 | 指定获取子类型所属的输入法应用
723
| callback | Array<[InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)> | 是   | 返回已安装输入法列表。 |
724 725 726 727

**示例:**

```js
H
Hollokin 已提交
728 729 730 731 732 733 734
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    InputMethodSetting.listInputMethodSubtype(inputMethodSubProperty, (err,data) => {
        if (err) {
H
Hollokin 已提交
735
            console.error('listInputMethodSubtype failed: ' + JSON.stringify(err));
H
Hollokin 已提交
736 737 738 739 740
            return;
        }
        console.log('listInputMethodSubtype success');
    });
} catch (err) {
H
Hollokin 已提交
741
    console.error('listInputMethodSubtype failed: ' + JSON.stringify(err));
H
Hollokin 已提交
742
}
743 744 745 746 747 748
```

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

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

H
Hollokin 已提交
749
获取指定输入法应用的所有子类型。使用promise形式返回结果。参数个数为1,否则抛出异常。
750 751 752

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

H
Hollokin 已提交
753 754 755 756 757 758
**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
| inputMethodProperty | InputMethodProperty| 是 | 指定获取子类型所属的输入法应用

759 760 761 762
**返回值:**

| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
763
| Promise<Array<[InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)>> | 返回已安装输入法子类型列表。 |
764 765 766 767

**示例:**

```js
H
Hollokin 已提交
768 769 770 771 772 773 774 775
let inputMethodSubProperty = {
    id: "com.example.kikainput",
    label: "ServiceExtAbility"
}
try {
    InputMethodSetting.listInputMethodSubtype(inputMethodSubProperty).then((data) => {
        console.info('listInputMethodSubtype success');
    }).catch((err) => {
H
Hollokin 已提交
776
        console.error('listInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
777 778
    })
} catch(err) {
H
Hollokin 已提交
779
    console.error('listInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
780
}
781 782 783 784 785
```

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

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

787 788 789 790 791 792 793 794
查询当前输入法的子类型列表。使用callback形式返回结果。参数个数为1,否则抛出异常。

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

**参数:**

| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
795
| callback | Array<[InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)> | 是   | 返回当前输入法的子类型列表。 |
796 797 798 799

**示例:**

```js
H
Hollokin 已提交
800
try {
H
Hollokin 已提交
801
    InputMethodSetting.listCurrentInputMethodSubtype((err, data) => {
H
Hollokin 已提交
802
        if (err) {
H
Hollokin 已提交
803
            console.error('listCurrentInputMethodSubtype failed: ' + JSON.stringify(err));
H
Hollokin 已提交
804 805 806 807 808
            return;
        }
        console.log('listCurrentInputMethodSubtype success');
    });
} catch(err) {
H
Hollokin 已提交
809
    console.error('listCurrentInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
810
}
811 812 813 814 815 816 817 818 819 820 821 822 823 824
```

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

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

查询当前输入法的子类型列表。使用promise形式返回结果。

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

**返回值:**

| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
825
| Promise<Array<[InputMethodSubtype](./js-apis-inputmethodsubtype.md#inputmethodsubtype)>> | 返回当前输入法的子类型列表。 |
826 827 828 829

**示例:**

```js
H
Hollokin 已提交
830 831 832 833 834 835 836
try {
    InputMethodSetting.listCurrentInputMethodSubtype().then((data) => {
        console.info('listCurrentInputMethodSubtype success');
    }).catch((err) => {
        console.error('listCurrentInputMethodSubtype promise err: ' + err);
    })
} catch(err) {
H
Hollokin 已提交
837
    console.error('listCurrentInputMethodSubtype err: ' + JSON.stringify(err));
H
Hollokin 已提交
838
}
839 840 841 842 843
```

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

getInputMethods(enable: boolean, callback: AsyncCallback&lt;Array&lt;InputMethodProperty&gt;&gt;): void
Z
zhaolinglan 已提交
844 845 846 847 848 849 850 851 852 853 854 855 856 857 858

获取已激活/未激活输入法列表。参数enable取true,返回已激活输入法列表,取false返回未激活输入法列表。使用callback形式返回结果。参数个数为2,否则抛出异常。

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

**参数:**

| 参数名   | 类型                                                | 必填 | 说明                          |
| -------- | --------------------------------------------------- | ---- | ----------------------------- |
| enable   | boolean                                             | 是   | 指定返回已激活/未激活。       |
| callback | Array<[InputMethodProperty](#inputmethodproperty8)> | 是   | 返回已激活/未激活输入法列表。 |

**示例:**

```js
H
Hollokin 已提交
859 860 861
try {
    InputMethodSetting.getInputMethods(true, (err,data) => {
        if (err) {
H
Hollokin 已提交
862
            console.error('getInputMethods failed: ' + JSON.stringify(err));
H
Hollokin 已提交
863 864 865 866 867
            return;
        }
        console.log('getInputMethods success');
    });
} catch (err) {
H
Hollokin 已提交
868
    console.error('getInputMethods failed: ' + JSON.stringify(err));
H
Hollokin 已提交
869
}
Z
zhaolinglan 已提交
870 871
```

872
### getInputMethods<sup>9+</sup>
Z
zhaolinglan 已提交
873

874
getInputMethods(enable: boolean): Promise&lt;Array&lt;InputMethodProperty&gt;&gt;
Z
zhaolinglan 已提交
875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894

获取已激活/未激活输入法列表。参数enable取true返回已激活输入法列表,取false返回未激活输入法列表。使用promise形式返回结果。参数个数为0,否则抛出异常。

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

**参数:**

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

**返回值:**

| 类型                                                         | 说明                          |
| ------------------------------------------------------------ | ----------------------------- |
| Promise<Array<[InputMethodProperty](#inputmethodproperty8)>> | 返回已激活/未激活输入法列表。 |

**示例:**

```js
H
Hollokin 已提交
895 896 897 898
try {
    InputMethodSetting.getInputMethods(true).then((data) => {
        console.info('getInputMethods success');
    }).catch((err) => {
H
Hollokin 已提交
899
        console.error('getInputMethods promise err: ' + JSON.stringify(err));
H
Hollokin 已提交
900 901
    })
} catch(err) {
H
Hollokin 已提交
902
    console.error('getInputMethods promise err: ' + JSON.stringify(err));
H
Hollokin 已提交
903
}
Z
zhaolinglan 已提交
904 905
```

H
Hollokin 已提交
906
### listInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
907 908 909

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

910
查询已安装的输入法列表。使用callback形式返回结果。参数个数为1,否则抛出异常。
Z
zhouyongfei 已提交
911

H
Hollokin 已提交
912
> **说明:** 
H
Hollokin 已提交
913
> 从API version 9开始废弃, 建议使用[getInputMethods](#getinputmethods9)替代
H
Hollokin 已提交
914 915 916
>
> 从 API version 8开始支持。

917
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
918

919
**参数:**
B
bmeangel 已提交
920

T
explain  
tianyu 已提交
921 922
| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
923
| callback | Array<[InputMethodProperty](#inputmethodproperty8)> | 是   | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
924

925
**示例:**
T
explain  
tianyu 已提交
926

927
```js
928
InputMethodSetting.listInputMethod((err,data) => {
Z
zhaolinglan 已提交
929
    if (err) {
Z
zhaolinglan 已提交
930
        console.error('listInputMethod failed because: ' + JSON.stringify(err));
931
        return;
932
    }
Z
zhaolinglan 已提交
933
    console.log('listInputMethod success');
934
 });
935
```
Z
zhouyongfei 已提交
936

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

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

941
查询已安装的输入法列表。使用promise形式返回结果。参数个数为0,否则抛出异常。
Z
zhouyongfei 已提交
942

H
Hollokin 已提交
943
> **说明:** 
H
Hollokin 已提交
944
> 从API version 9开始废弃, 建议使用[getInputMethods](#getinputmethods9-1)替代
H
Hollokin 已提交
945 946 947
>
> 从 API version 8开始支持。

948
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
949

950
**返回值:**
B
bmeangel 已提交
951

T
explain  
tianyu 已提交
952 953
| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
954
| Promise<Array<[InputMethodProperty](#inputmethodproperty8)>> | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
955

956
**示例:**
957 958

```js
Z
zhaolinglan 已提交
959
InputMethodSetting.listInputMethod().then((data) => {
Z
zhaolinglan 已提交
960
    console.info('listInputMethod success');
Z
zhaolinglan 已提交
961
}).catch((err) => {
H
Hollokin 已提交
962
    console.error('listInputMethod promise err: ' + JSON.stringify(err));
Z
zhaolinglan 已提交
963
})
964
```
Z
zhouyongfei 已提交
965

H
Hollokin 已提交
966
### displayOptionalInputMethod<sup>(deprecated)</sup>
Z
zhouyongfei 已提交
967 968 969

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

970
显示输入法选择对话框。使用callback形式返回结果。参数个数为1,否则抛出异常。
Z
zhouyongfei 已提交
971

H
Hollokin 已提交
972
> **说明:** 
H
Hollokin 已提交
973
> 从API version 9开始废弃, 建议使用[showOptionalInputMethods](#showoptionalinputmethods9)替代
H
Hollokin 已提交
974 975 976
>
> 从 API version 8开始支持。

977
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
978

979
**参数:**
Z
zhouyongfei 已提交
980 981 982 983 984

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

985
**示例:**
986 987

```js
988
InputMethodSetting.displayOptionalInputMethod((err) => {
Z
zhaolinglan 已提交
989
    if (err) {
Z
zhaolinglan 已提交
990
        console.error('displayOptionalInputMethod failed because: ' + JSON.stringify(err));
991 992
        return;
    }
Z
zhaolinglan 已提交
993
    console.info('displayOptionalInputMethod success');
994
});
995
```
Z
zhouyongfei 已提交
996

997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015
### showOptionalInputMethods<sup>9+</sup>

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

显示输入法选择对话框。使用callback形式返回结果。参数个数为1,否则抛出异常。

**需要权限**: ohos.permission.CONNECT_IME_ABILITY

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

**参数:**

| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------- | -------- | -------- |
| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |

**示例:**

```js
H
Hollokin 已提交
1016 1017 1018
try {
    InputMethodSetting.showOptionalInputMethods((err) => {
        if (err) {
H
Hollokin 已提交
1019
            console.error('showOptionalInputMethods failed: ' + JSON.stringify(err));
H
Hollokin 已提交
1020 1021 1022 1023 1024
            return;
        }
        console.info('showOptionalInputMethods success');
    });
} catch (err) {
H
Hollokin 已提交
1025
    console.error('showOptionalInputMethods failed: ' + JSON.stringify(err));
H
Hollokin 已提交
1026
}
1027 1028
```

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

1031 1032 1033 1034
displayOptionalInputMethod(): Promise&lt;void&gt;

显示输入法选择对话框。使用promise形式返回结果。参数个数为0,否则抛出异常。

H
Hollokin 已提交
1035
> **说明:** 
H
Hollokin 已提交
1036
> 从API version 9开始废弃, 建议使用[showOptionalInputMethods](#showoptionalinputmethods9-1)替代
H
Hollokin 已提交
1037 1038 1039
>
> 从 API version 8开始支持。

1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060
**系统能力**: SystemCapability.MiscServices.InputMethodFramework

**返回值:**

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

**示例:**

```js
InputMethodSetting.displayOptionalInputMethod().then(() => {
    console.info('displayOptionalInputMethod success.(promise)');
}).catch((err) => {
    console.error('displayOptionalInputMethod promise err: ' + err);
})
```

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

  showOptionalInputMethods(): Promise&lt;void&gt;
Z
zhouyongfei 已提交
1061

1062
  显示输入法选择对话框。使用promise形式返回结果。参数个数为0,否则抛出异常。
Z
zhouyongfei 已提交
1063

1064
  **系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
1065

1066
**返回值:**
Z
zhouyongfei 已提交
1067

Z
refresh  
zhouyongfei 已提交
1068
| 类型 | 说明 |
Z
zhouyongfei 已提交
1069
| -------- | -------- |
1070
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zhouyongfei 已提交
1071

1072
**示例:**
1073 1074

```js
1075
InputMethodSetting.showOptionalInputMethods().then(() => {
Z
zhaolinglan 已提交
1076
    console.info('displayOptionalInputMethod success.(promise)');
Z
zhaolinglan 已提交
1077
}).catch((err) => {
Z
zhaolinglan 已提交
1078
    console.error('displayOptionalInputMethod promise err: ' + err);
Z
zhaolinglan 已提交
1079
})
1080
```