js-apis-inputmethod.md 5.8 KB
Newer Older
Z
zhouyongfei 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 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 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202
# 输入法框架

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


## 导入模块

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

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

常量值。

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| MAX_TYPE_NUM | number | 是 | 否 | 可支持的最大输入法个数。<br/>**系统能力**: SystemCapability.MiscServices.InputMethod |


## InputMethodProperty<sup>8+</sup><a name="InputMethodProperty"></a>

输入法应用属性。

| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
| packageName | string | 是 | 否 | 包名。<br/>**系统能力**: SystemCapability.MiscServices.InputMethod |
| methodId | string | 是 | 否 | Ability名。<br/>**系统能力**: SystemCapability.MiscServices.InputMethod |

## inputMethod.getInputMethodController<a name="getInputMethodController"></a>

getInputMethodController(): InputMethodController

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

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

- 返回值

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

- 示例
  ```
  var InputMethodController = inputMethod.getInputMethodController();
  ```
## inputMethod.getInputMethodSetting<sup>8+</sup><a name="getInputMethodSetting"></a>

getInputMethodSetting(): InputMethodSetting

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

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

- 返回值

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


- 示例
  ```
  var InputMethodSetting = inputMethod.getInputMethodSetting();
  ```

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

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

### stopInput

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

隐藏输入法。

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

- 参数

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

- 示例

```
 InputMethodController.stopInput((error)=>{
     console.info('stopInput');
 });
```

### stopInput

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

隐藏输入法。

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

- 参数

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

- 示例


```
 var isSuccess = InputMethodController.stopInput();
 console.info('stopInput isSuccess = ' + isSuccess);
```

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

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

### listInputMethod<sup>8+</sup>

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

查询已安装的输入法列表。

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

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  |  Array<[InputMethodProperty](#InputMethodProperty)>  |  返回已安装输入法列表。                |

- 示例
  ```
   InputMethodSetting.listInputMethod((properties)=>{
     var property = properties[i];
     console.info(property.packageName + "/" + property.methodId);
  });
  ```

### listInputMethod<sup>8+</sup>

listInputMethod(): Promise&lt;Array&lt;InputMethodProperty&gt;&gt;

查询已安装的输入法列表。

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

- 返回值
  | 类型                            | 说明                                                         |
  | ------------------------------- | ------------------------------------------------------------ |
  |  Array<[InputMethodProperty](#InputMethodProperty)>  |  返回已安装输入法列表。                |

- 示例
  ```
   var properties = InputMethodSetting.listInputMethod();
   for (var i = 0;i < properties.length; i++) {
     var property = properties[i];
     console.info(property.packageName + "/" + property.methodId);
   }
  ```

### displayOptionalInputMethod<sup>8+</sup>

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

显示输入法选择对话框。

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

- 参数

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

- 示例
  ```
   InputMethodSetting.displayOptionalInputMethod(()=>{
     console.info('displayOptionalInputMethod is called');
   });
  ```

### displayOptionalInputMethod<sup>8+</sup>

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

  显示输入法选择对话框。

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

- 返回值

| 参数名 | 说明 |
| -------- | -------- |
| Promise&lt;void&gt; | 回调函数。 |

  - 示例
    ```
     InputMethodSetting.displayOptionalInputMethod();
    ```