js-apis-inputmethodengine.md 24.3 KB
Newer Older
Z
zhouyongfei 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
# 输入法服务

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

## 导入模块

```
import inputMethodEngine from '@ohos.inputMethodEngine';
```

## inputMethodEngine

常量值。

Z
refresh  
zhouyongfei 已提交
16
**系统能力**:以下各项对应的系统能力均为SystemCapability.Miscservices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
17

Z
zhouyongfei 已提交
18 19
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Z
刷新  
zhouyongfei 已提交
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| ENTER_KEY_TYPE_UNSPECIFIED | number | 是 | 否 | 无功能键。 |
| ENTER_KEY_TYPE_GO | number | 是 | 否 | “前往”功能键。 |
| ENTER_KEY_TYPE_SEARCH | number | 是 | 否 | “搜索”功能键。 |
| ENTER_KEY_TYPE_SEND | number | 是 | 否 | “发送”功能键。 |
| ENTER_KEY_TYPE_NEXT | number | 是 | 否 | “下一个”功能键。 |
| ENTER_KEY_TYPE_DONE | number | 是 | 否 | “回车”功能键。 |
| ENTER_KEY_TYPE_PREVIOUS | number | 是 | 否 | “前一个”功能键。 |
| PATTERN_NULL | number | 是 | 否 | 无特殊性编辑框。 |
| PATTERN_TEXT | number | 是 | 否 | 文本编辑框。 |
| PATTERN_NUMBER | number | 是 | 否 | 数字编辑框。 |
| PATTERN_PHONE | number | 是 | 否 | 电话编辑框。 |
| PATTERN_DATETIME | number | 是 | 否 | 日期编辑框。 |
| PATTERN_EMAIL | number | 是 | 否 | 邮件编辑框。 |
| PATTERN_URI | number | 是 | 否 | 超链接编辑框。 |
| PATTERN_PASSWORD | number | 是 | 否 | 密码编辑框。 |
| OPTION_ASCII | number | 是 | 否 | 允许输入ASCII值。 |
| OPTION_NONE | number | 是 | 否 | 不指定编辑框输入属性。 |
| OPTION_AUTO_CAP_CHARACTERS | number | 是 | 否 | 允许输入字符。 |
| OPTION_AUTO_CAP_SENTENCES | number | 是 | 否 | 允许输入句子。 |
| OPTION_AUTO_WORDS | number | 是 | 否 | 允许输入单词。 |
| OPTION_MULTI_LINE | number | 是 | 否 | 允许输入多行。 |
| OPTION_NO_FULLSCREEN | number | 是 | 否 | 半屏样式。 |
| FLAG_SELECTING | number | 是 | 否 | 编辑框处于选择状态。 |
| FLAG_SINGLE_LINE | number | 是 | 否 | 编辑框为单行。 |
| DISPLAY_MODE_PART | number | 是 | 否 | 编辑框显示为半屏。 |
| DISPLAY_MODE_FULL | number | 是 | 否 | 编辑框显示为全屏。 |
Z
zhouyongfei 已提交
46 47 48 49 50

## inputMethodEngine.getInputMethodEngine<a name="getInputMethodEngine"></a>

getInputMethodEngine(): InputMethodEngine

Z
refresh  
zhouyongfei 已提交
51
获取服务端实例。
Z
zhouyongfei 已提交
52

Z
refresh  
zhouyongfei 已提交
53
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70

- 返回值

  | 类型                                    | 说明         |
  | --------------------------------------- | ------------ |
  | [InputMethodEngine](#InputMethodEngine) | 服务端实例。 |

- 示例

  ```
  var InputMethodEngine = inputMethodEngine.getInputMethodEngine();
  ```

## inputMethodEngine.createKeyboardDelegate<a name="createKeyboardDelegate"></a>

createKeyboardDelegate(): KeyboardDelegate

Z
refresh  
zhouyongfei 已提交
71
获取客户端监听实例。
Z
zhouyongfei 已提交
72

Z
refresh  
zhouyongfei 已提交
73
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92

- 返回值

  | 类型                                  | 说明             |
  | ------------------------------------- | ---------------- |
  | [KeyboardDelegate](#KeyboardDelegate) | 客户端监听实例。 |

- 示例

  ```
  var KeyboardDelegate = inputMethodEngine.createKeyboardDelegate();
  ```

## InputMethodEngine<a name="InputMethodEngine"></a>

下列API示例中都需使用[getInputMethodEngine](#getInputMethodEngine)回调获取到InputMethodEngine实例,再通过此实例调用对应方法。

### on('inputStart')<a name="inputStart"></a>

Z
zhouyongfei 已提交
93
on(type: 'inputStart', callback: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void
Z
zhouyongfei 已提交
94

Z
refresh  
zhouyongfei 已提交
95
订阅输入法绑定成功事件,使用callback回调返回输入法操作相关实例。
Z
zhouyongfei 已提交
96

Z
refresh  
zhouyongfei 已提交
97
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
98 99 100 101 102 103

- 参数:

| 参数名   | 类型                            | 必填 | 说明                                                         |
| -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                        | 是   | 设置监听类型。<br/>-type为‘inputStart’时表示订阅输入法绑定。 |
Z
refresh  
zhouyongfei 已提交
104
| callback | [KeyboardController](#KeyboardController), [TextInputClient](#TextInputClient) | 是 | 回调返回输入法操作相关实例。 |
Z
zhouyongfei 已提交
105 106 107 108 109 110 111 112 113 114 115 116

- 示例:

  ```
  InputMethodEngine.on('inputStart', (kbController, textInputClient) => {
      KeyboardController = kbController;
      TextInputClient = textInputClient;
  });
  ```

### off('inputStart')

Z
zhouyongfei 已提交
117
off(type: 'inputStart', callback?: (kbController: KeyboardController, textInputClient: TextInputClient) => void): void
Z
zhouyongfei 已提交
118 119 120

取消订阅输入法绑定成功事件。

Z
refresh  
zhouyongfei 已提交
121
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
122 123 124 125 126 127

- 参数:

  | 参数名   | 类型                 | 必填 | 说明                     |
  | -------- | -------------------- | ---- | ------------------------ |
  | type | string                                                       | 是   | 设置监听类型。<br/>-type为‘inputStart’时表示订阅输入法绑定。 |
Z
refresh  
zhouyongfei 已提交
128
  | callback | [KeyboardController](#KeyboardController), [TextInputClient](#TextInputClient) | 否 | 回调返回输入法操作相关实例。 |
Z
zhouyongfei 已提交
129 130 131 132 133 134 135 136 137 138 139



- 示例:

  ```
  InputMethodEngine.off('inputStart');
  ```

### on('keyboardShow'|'keyboardHide')

Z
zhouyongfei 已提交
140
on(type: 'keyboardShow'|'keyboardHide', callback: () => void): void
Z
zhouyongfei 已提交
141 142 143

订阅输入法事件。

Z
refresh  
zhouyongfei 已提交
144
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
145 146 147 148 149 150

- 参数:

  | 参数名   | 类型   | 必填 | 说明                                                         |
  | -------- | ------ | ---- | ------------------------------------------------------------ |
  | type     | string | 是   | 设置监听类型。<br/>-&nbsp;type为'keyboardShow',表示订阅输入法显示。<br/>-&nbsp;type为'keyboardHide',表示订阅输入法隐藏。 |
Z
refresh  
zhouyongfei 已提交
151
  | callback | void   | 否   | 回调函数。                                                   |
Z
zhouyongfei 已提交
152 153 154 155 156 157 158 159 160 161 162

- 示例:

  ```
  InputMethodEngine.on('keyboardShow', (err) => {
      console.info('keyboardShow');
  });
  ```

### off('keyboardShow'|'keyboardHide')

Z
zhouyongfei 已提交
163
off(type: 'keyboardShow'|'keyboardHide', callback?: () => void): void
Z
zhouyongfei 已提交
164 165 166

取消订阅输入法事件。

Z
refresh  
zhouyongfei 已提交
167
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
168 169 170 171 172 173

- 参数:

  | 参数名   | 类型   | 必填 | 说明                                                         |
  | -------- | ------ | ---- | ------------------------------------------------------------ |
  | type     | string | 是   | 设置监听类型。<br/>-&nbsp;type为'keyboardShow',表示订阅输入法显示。<br/>-&nbsp;type为'keyboardHide',表示订阅输入法隐藏。 |
Z
refresh  
zhouyongfei 已提交
174
  | callback | void   | 否   | 回调函数。                                                   |
Z
zhouyongfei 已提交
175 176 177 178 179 180 181 182 183 184

- 示例:

  ```
  InputMethodEngine.off('keyboardShow');
  ```
  

## KeyboardDelegate<a name="KeyboardDelegate"></a>

Z
refresh  
zhouyongfei 已提交
185
下列API示例中都需使用[createKeyboardDelegate](#createKeyboardDelegate)回调获取到KeyboardDelegate实例,再通过此实例调用对应方法。
Z
zhouyongfei 已提交
186 187 188

### on('keyDown'|'keyUp')

Z
zhouyongfei 已提交
189
on(type: 'keyDown'|'keyUp', callback: (event: KeyEvent) => boolean): void
Z
zhouyongfei 已提交
190

Z
refresh  
zhouyongfei 已提交
191
订阅硬键盘事件,使用callback回调返回按键信息。
Z
zhouyongfei 已提交
192

Z
refresh  
zhouyongfei 已提交
193
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213

- 参数:

  | 参数名   | 类型                            | 必填 | 说明                                                         |
  | -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
  | type   | string         | 是   | 设置监听类型。<br/>-&nbsp;type为'keyDown',表示订阅硬键盘按下。<br/>-&nbsp;type为'keyUp',表示订阅硬键盘抬起。 |
  | callback | [KeyEvent](#KeyEvent) | 是 | 回调返回按键信息。 |



- 示例:

  ```
  KeyboardDelegate.on('keyDown', (event) => {
      console.info('keyDown');
  });
  ```

### off('keyDown'|'keyUp')

Z
zhouyongfei 已提交
214
off(type: 'keyDown'|'keyUp', callback?: (event: KeyEvent) => boolean): void
Z
zhouyongfei 已提交
215 216 217

取消订阅硬键盘事件。

Z
refresh  
zhouyongfei 已提交
218
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
219 220 221 222 223 224

- 参数:

  | 参数名   | 类型                  | 必填 | 说明                                                         |
  | -------- | --------------------- | ---- | ------------------------------------------------------------ |
  | type     | string                | 是   | 设置监听类型。<br/>-&nbsp;type为'keyDown',表示订阅硬键盘按下。<br/>-&nbsp;type为'keyUp',表示订阅硬键盘抬起。 |
Z
refresh  
zhouyongfei 已提交
225
  | callback | [KeyEvent](#KeyEvent) | 否   | 回调返回按键信息。                                           |
Z
zhouyongfei 已提交
226 227 228 229 230 231 232 233 234

- 示例:

  ```
  KeyboardDelegate.off('keyDown');
  ```

### on('cursorContextChange')

Z
zhouyongfei 已提交
235
on(type: 'cursorContextChange', callback: (x: number, y:number, height:number) => void): void
Z
zhouyongfei 已提交
236

Z
refresh  
zhouyongfei 已提交
237
订阅光标变化事件,使用callback回调返回光标信息。
Z
zhouyongfei 已提交
238

Z
refresh  
zhouyongfei 已提交
239
  **系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
240 241 242 243 244 245

  - 参数:

    | 参数名   | 类型   | 必填 | 说明                                                         |
    | -------- | ------ | ---- | ------------------------------------------------------------ |
    | type     | string | 是   | 光标变化事件。<br/>-type为’cursorContextChange‘时,表示光标变化。 |
Z
refresh  
zhouyongfei 已提交
246
    | callback | number | 是   | 回调返回光标信息。                                           |
Z
zhouyongfei 已提交
247 248 249 250 251 252 253 254 255 256 257 258 259



  - 示例:
  
    ```
    KeyboardDelegate.on('cursorContextChange', (x, y, height) => {
        console.info('cursorContextChange');
    });
    ```

### off('cursorContextChange')

Z
zhouyongfei 已提交
260
off(type: 'cursorContextChange', callback?: (x: number, y:number, height:number) => void): void
Z
zhouyongfei 已提交
261 262 263

取消订阅光标变化事件。

Z
refresh  
zhouyongfei 已提交
264
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
265 266 267 268 269 270

  - 参数:

    | 参数名   | 类型                 | 必填 | 说明                     |
    | -------- | -------------------- | ---- | ------------------------ |
    | type     | string       | 是   | 光标变化事件。<br/>-type为’cursorContextChange‘时,表示光标变化。 |
Z
refresh  
zhouyongfei 已提交
271
    | callback | number | 否 | 回调返回光标信息。 |
Z
zhouyongfei 已提交
272 273 274 275 276 277 278 279 280


  - 示例:

    ```
    KeyboardDelegate.off('cursorContextChange');
    ```
### on('selectionChange')

Z
zhouyongfei 已提交
281
on(type: 'selectionChange', callback: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void
Z
zhouyongfei 已提交
282

Z
refresh  
zhouyongfei 已提交
283
订阅文本选择变化事件,使用callback回调返回文本选择信息。
Z
zhouyongfei 已提交
284

Z
refresh  
zhouyongfei 已提交
285
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
286 287 288 289 290 291

  - 参数:

    | 参数名   | 类型   | 必填 | 说明                                                         |
    | -------- | ------ | ---- | ------------------------------------------------------------ |
    | type     | string | 是   | 文本选择变化事件。<br/>-type为’selectionChange‘时,表示选择文本变化。 |
Z
refresh  
zhouyongfei 已提交
292
    | callback | number | 是   | 回调返回文本选择信息。                                       |
Z
zhouyongfei 已提交
293 294 295 296 297 298 299 300 301 302 303

  - 示例:
  
    ```
    KeyboardDelegate.on('selectionChange', (oldBegin, oldEnd, newBegin, newEnd) => {
        console.info('selectionChange');
    });
    ```

### off('selectionChange')

Z
zhouyongfei 已提交
304
off(type: 'selectionChange', callback?: (oldBegin: number, oldEnd: number, newBegin: number, newEnd: number) => void): void
Z
zhouyongfei 已提交
305 306 307

取消订阅文本选择变化事件。

Z
refresh  
zhouyongfei 已提交
308
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
309 310 311 312 313 314

  - 参数:

    | 参数名   | 类型                 | 必填 | 说明                     |
    | -------- | -------------------- | ---- | ------------------------ |
    | type     | string                  | 是   | 文本选择变化事件。<br/>-type为’selectionChange‘时,表示选择文本变化。 |
Z
refresh  
zhouyongfei 已提交
315
    | callback | number | 否 | 回调返回文本选择信息。 |
Z
zhouyongfei 已提交
316 317 318 319 320 321 322 323 324 325

  - 示例:

    ```
    KeyboardDelegate.off('selectionChange');
    ```


### on('textChange')

Z
zhouyongfei 已提交
326
on(type: 'textChange', callback: (text: string) => void): void
Z
zhouyongfei 已提交
327

Z
refresh  
zhouyongfei 已提交
328
订阅文本变化事件,使用callback回调返回当前文本内容。
Z
zhouyongfei 已提交
329

Z
refresh  
zhouyongfei 已提交
330
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
331 332 333 334 335 336

  - 参数:

    | 参数名   | 类型                            | 必填 | 说明                                                         |
    | -------- | ------------------------------- | ---- | ------------------------------------------------------------ |
    | type     | string                  | 是   | 文本变化事件。<br/>-type为’textChange‘时,表示当前文本变化。 |
Z
refresh  
zhouyongfei 已提交
337
    | callback | string | 是 | 回调返回当前文本内容。 |
Z
zhouyongfei 已提交
338 339 340 341 342 343 344 345 346 347 348

  - 示例:

    ```
    KeyboardDelegate.on('textChange', (text) => {
        console.info('textChange');
    });
    ```

### off('textChange')

Z
zhouyongfei 已提交
349
off(type: 'textChange', callback?: (text: string) => void): void
Z
zhouyongfei 已提交
350 351 352

取消订阅文本变化事件。

Z
refresh  
zhouyongfei 已提交
353
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
354 355 356 357 358 359

  - 参数:

    | 参数名   | 类型                 | 必填 | 说明                     |
    | -------- | -------------------- | ---- | ------------------------ |
    | type     | string                  | 是   | 文本变化事件。<br/>-type为’textChange‘时,表示当前文本变化。 |
Z
refresh  
zhouyongfei 已提交
360
    | callback | string | 否 | 回调返回当前文本内容。 |
Z
zhouyongfei 已提交
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377

  - 示例:

    ```
    KeyboardDelegate.off('textChange');
    ```

## KeyboardController<a name="KeyboardController"></a>

下列API示例中都需使用[inputStart](#inputStart)回调获取到KeyboardController实例,再通过此实例调用对应方法。

### hideKeyboard

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

隐藏输入法。

Z
refresh  
zhouyongfei 已提交
378
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
379

Z
refresh  
zhouyongfei 已提交
380 381
- 参数:

Z
refresh  
zhouyongfei 已提交
382 383 384
  | 参数名   | 类型                   | 必填 | 说明     |
  | -------- | ---------------------- | ---- | -------- |
  | callback | AsyncCallback&lt;void> | 否   | 回调函数 |
Z
refresh  
zhouyongfei 已提交
385

Z
zhouyongfei 已提交
386 387 388 389 390 391 392 393 394 395 396 397 398 399
- 示例


```
 KeyboardController.hideKeyboard(()=>{
 });
```

### hideKeyboard

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

隐藏输入法。

Z
refresh  
zhouyongfei 已提交
400
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
401

Z
refresh  
zhouyongfei 已提交
402 403
- 返回值

Z
refres  
zhouyongfei 已提交
404 405 406
  | 类型             | 说明     |
  | ---------------- | -------- |
  | Promise&lt;void> | 回调函数 |
Z
refresh  
zhouyongfei 已提交
407

Z
zhouyongfei 已提交
408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424
- 示例


```
 KeyboardController.hideKeyboard();
```

## TextInputClient<a name="TextInputClient"></a>

下列API示例中都需使用[inputStart](#inputStart)回调获取到TextInputClient实例,再通过此实例调用对应方法。

### getForward

getForward(length:number, callback: AsyncCallback&lt;string&gt;): void

获取光标前固定长度的文本。

Z
refresh  
zhouyongfei 已提交
425
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
426 427 428 429 430 431 432 433 434 435

- 参数

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |
  | callback | AsyncCallback&lt;string&gt; | 是 | 返回文本。 |

- 示例
  ```
Z
refresh  
zhouyongfei 已提交
436
   TextInputClient.getForward(5,(text) =>{
Z
zhouyongfei 已提交
437 438 439 440 441 442 443 444 445 446
     console.info("text = " + text);
   });
  ```

### getForward

getForward(length:number): Promise&lt;string&gt;

获取光标前固定长度的文本。

Z
refresh  
zhouyongfei 已提交
447
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
448 449 450 451 452 453 454 455 456 457 458

- 参数

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;string&gt; |  返回文本。                |
Z
refresh  
zhouyongfei 已提交
459

Z
zhouyongfei 已提交
460 461 462 463 464 465 466 467 468 469 470 471
- 示例
  ```
   var text = TextInputClient.getForward(5);
   console.info("text = " + text);
  ```

### getBackward

getBackward(length:number, callback: AsyncCallback&lt;string&gt;): void

获取光标后固定长度的文本。

Z
refresh  
zhouyongfei 已提交
472
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
473 474 475 476 477 478 479 480 481 482

- 参数

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |
  | callback | AsyncCallback&lt;string&gt; | 是 | 返回文本。 |

- 示例
  ```
Z
zhouyongfei 已提交
483
   TextInputClient.getBackward(5,(text)=>{
Z
zhouyongfei 已提交
484 485 486 487 488 489 490 491 492 493
     console.info("text = " + text);
  });
  ```

### getBackward

getBackward(length:number): Promise&lt;string&gt;

获取光标后固定长度的文本。

Z
refresh  
zhouyongfei 已提交
494
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518

- 参数

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;string&gt; |  返回文本。                |

- 示例
  ```
   var text = TextInputClient.getBackward(5);
   console.info("text = " + text);
  ```

### deleteForward

deleteForward(length:number, callback: AsyncCallback&lt;boolean&gt;): void

删除光标前固定长度的文本。

Z
refresh  
zhouyongfei 已提交
519
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
520 521 522 523 524 525 526 527 528 529

- 参数

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 操作成功与否。 |

- 示例
  ```
Z
zhouyongfei 已提交
530
  TextInputClient.deleteForward(5,(isSuccess)=>{
Z
zhouyongfei 已提交
531 532 533 534 535 536 537 538 539
    console.info("isSuccess = " + isSuccess);
  });
  ```
### deleteForward

deleteForward(length:number): Promise&lt;boolean&gt;

删除光标前固定长度的文本。

Z
refresh  
zhouyongfei 已提交
540
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564

- 参数
  
    | 参数名 | 类型 | 必填 | 说明 |
    | -------- | -------- | -------- | -------- |
    | length | number | 是 | 文本长度。 |
  
- 返回值  
     | 类型                            | 说明                                                         |
     | ------------------------------- | ------------------------------------------------------------ |
     | Promise&lt;boolean&gt; |  操作成功与否。                |

  - 示例
    ```
     var isSuccess = TextInputClient.deleteForward(5);
     console.info("isSuccess = " + isSuccess);
    ```
    
### deleteBackward

deleteBackward(length:number, callback: AsyncCallback&lt;boolean&gt;): void

删除光标后固定长度的文本。

Z
refresh  
zhouyongfei 已提交
565
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
566 567 568 569 570 571 572 573 574 575

  - 参数

    | 参数名 | 类型 | 必填 | 说明 |
    | -------- | -------- | -------- | -------- |
    | length | number | 是 | 文本长度。 |
    | callback | AsyncCallback&lt;boolean&gt; | 是 | 操作成功与否。 |

  - 示例
    ```
Z
zhouyongfei 已提交
576
     TextInputClient.deleteBackward(5, (isSuccess)=>{
Z
zhouyongfei 已提交
577 578 579 580 581 582 583
     console.info("isSuccess = " + isSuccess);
    });
    ```

### deleteBackward

deleteBackward(length:number): Promise&lt;boolean&gt;
Z
refresh  
zhouyongfei 已提交
584

Z
zhouyongfei 已提交
585 586
删除光标后固定长度的文本。

Z
refresh  
zhouyongfei 已提交
587
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610

- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | length | number | 是 | 文本长度。 |

- 返回值 
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;boolean&gt; |  操作成功与否。                |

- 示例

     ```
     var isSuccess = TextInputClient.deleteBackward(5);
     console.info("isSuccess = " + isSuccess);
     ```
### sendKeyFunction

sendKeyFunction(action:number, callback: AsyncCallback&lt;boolean&gt;): void

发送功能键。

Z
refresh  
zhouyongfei 已提交
611
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
612 613 614 615 616

  - 参数

    | 参数名 | 类型 | 必填 | 说明 |
    | -------- | -------- | -------- | -------- |
Z
refresh  
zhouyongfei 已提交
617
    | action | number | 是 | 编辑框属性。 |
Z
zhouyongfei 已提交
618 619 620 621
    | callback | AsyncCallback&lt;boolean&gt; | 是 | 操作成功与否。 |

  - 示例
    ```
Z
zhouyongfei 已提交
622
     TextInputClient.sendKeyFunction(inputMethod.ENTER_KEY_TYPE_NEXT,(isSuccess)=>{
Z
zhouyongfei 已提交
623 624 625 626 627 628 629 630 631 632
      console.info("isSuccess = " + isSuccess);
    });
    ```

### sendKeyFunction

sendKeyFunction(action:number): Promise&lt;boolean&gt;

发送功能键。

Z
refresh  
zhouyongfei 已提交
633
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
634 635 636 637

- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
Z
refresh  
zhouyongfei 已提交
638
  | action | number | 是 | 编辑框属性。 |
Z
zhouyongfei 已提交
639 640 641 642 643 644 645 646 647

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;boolean&gt; |  操作成功与否。                |

- 示例

  ```
Z
refresh  
zhouyongfei 已提交
648 649
  var isSuccess = TextInputClient.sendKeyFunction(inputMethod.ENTER_KEY_TYPE_NEXT);
  console.info("isSuccess = " + isSuccess);
Z
zhouyongfei 已提交
650 651 652 653 654 655 656 657
  ```
  
### insertText

insertText(text:string, callback: AsyncCallback&lt;boolean&gt;): void

插入文本。

Z
refresh  
zhouyongfei 已提交
658
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
659 660 661 662 663 664 665 666 667 668

- 参数

    | 参数名 | 类型 | 必填 | 说明 |
    | -------- | -------- | -------- | -------- |
    | text | string | 是 | 文本。 |
    | callback | AsyncCallback&lt;boolean&gt; | 是 | 操作成功与否。 |

- 示例
    ```
Z
zhouyongfei 已提交
669
    TextInputClient.insertText("test", (isSuccess)=>{
Z
zhouyongfei 已提交
670 671 672 673 674 675 676
      console.info("isSuccess = " + isSuccess);
    });
    ```

### insertText

insertText(text:string): Promise&lt;boolean&gt;
Z
refresh  
zhouyongfei 已提交
677

Z
zhouyongfei 已提交
678 679
插入文本。

Z
refresh  
zhouyongfei 已提交
680
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
681 682 683 684 685 686 687 688 689 690 691 692 693 694

- 参数
  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  | text | string | 是 | 文本。 |

- 返回值    
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;boolean&gt; |  操作成功与否。                |

- 示例

  ```
Z
refresh  
zhouyongfei 已提交
695 696
  var isSuccess = TextInputClient.insertText("test");
  console.info("isSuccess = " + isSuccess);
Z
zhouyongfei 已提交
697 698 699 700 701 702
  ```
  
### getEditorAttribute

getEditorAttribute(callback: AsyncCallback&lt;EditorAttribute&gt;): void

Z
refresh  
zhouyongfei 已提交
703
获取编辑框属性值。
Z
zhouyongfei 已提交
704

Z
refresh  
zhouyongfei 已提交
705
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
706 707 708 709

- 参数
   | 参数名                         | 类型                          | 必填                            | 说明                                                         |
   | ------------------------------- | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ |
Z
refresh  
zhouyongfei 已提交
710
   | callback | AsyncCallback&lt;[EditorAttribute](#EditorAttribute)&gt; | 是 |  编辑框属性值。                |
Z
zhouyongfei 已提交
711

Z
refresh  
zhouyongfei 已提交
712 713
- 示例
  ```
Z
zhouyongfei 已提交
714 715
    TextInputClient.getEditorAttribute((EditorAttribute)=>{
    });
Z
refresh  
zhouyongfei 已提交
716
  ```
Z
zhouyongfei 已提交
717 718 719 720

### getEditorAttribute

getEditorAttribute(): Promise&lt;EditorAttribute&gt;
Z
refresh  
zhouyongfei 已提交
721 722

获取编辑框属性值。
Z
zhouyongfei 已提交
723

Z
refresh  
zhouyongfei 已提交
724
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
725 726 727 728

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
Z
refresh  
zhouyongfei 已提交
729
  | Promise&lt;[EditorAttribute](#EditorAttribute)&gt; |  返回编辑框属性值。           |
Z
zhouyongfei 已提交
730 731 732 733 734 735 736 737 738 739

- 示例
   ```
   var EditorAttribute = TextInputClient.getEditorAttribute();
   ```

## EditorAttribute<a name="EditorAttribute"></a>

编辑框属性值。

Z
refresh  
zhouyongfei 已提交
740
**系统能力**:以下各项对应的系统能力均为SystemCapability.Miscservices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
741 742 743 744 745

| 名称         | 参数类型 | 可读 | 可写 | 说明               |
| ------------ | -------- | ---- | ---- | ------------------ |
| enterKeyType | number   | 是   | 否   | 编辑框的功能属性。 |
| inputPattern | number   | 是   | 否   | 编辑框的文本属性。 |
Z
zhouyongfei 已提交
746 747 748

## KeyEvent<a name="KeyEvent"></a>

Z
refresh  
zhouyongfei 已提交
749
按键属性值。
Z
zhouyongfei 已提交
750

Z
refresh  
zhouyongfei 已提交
751
**系统能力**:以下各项对应的系统能力均为SystemCapability.Miscservices.InputMethodFramework
Z
刷新  
zhouyongfei 已提交
752 753 754 755 756

| 名称      | 参数类型 | 可读 | 可写 | 说明         |
| --------- | -------- | ---- | ---- | ------------ |
| keyCode   | number   | 是   | 否   | 按键的键值。 |
| keyAction | number   | 是   | 否   | 按键的状态。 |
Z
zhouyongfei 已提交
757