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
# 输入法框架

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


## 导入模块

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

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

常量值。

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

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


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

输入法应用属性。

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

Z
zhouyongfei 已提交
30 31
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------- | -------- | -------- | -------- | -------- |
Z
刷新  
zhouyongfei 已提交
32 33
| packageName | string | 是 | 否 | 包名。 |
| methodId | string | 是 | 否 | Ability名。 |
Z
zhouyongfei 已提交
34 35 36 37 38 39 40

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

getInputMethodController(): InputMethodController

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

Z
refresh  
zhouyongfei 已提交
41
**系统能力**:SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
42 43 44 45 46 47 48 49

- 返回值

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

- 示例
50
  ```js
Z
zhouyongfei 已提交
51 52 53 54 55 56 57 58
  var InputMethodController = inputMethod.getInputMethodController();
  ```
## inputMethod.getInputMethodSetting<sup>8+</sup><a name="getInputMethodSetting"></a>

getInputMethodSetting(): InputMethodSetting

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

Z
refresh  
zhouyongfei 已提交
59
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
60 61 62 63 64 65 66 67 68

- 返回值

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


- 示例
69
  ```js
Z
zhouyongfei 已提交
70 71 72 73 74
  var InputMethodSetting = inputMethod.getInputMethodSetting();
  ```

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

Z
refresh  
zhouyongfei 已提交
75
下列API示例中都需使用[getInputMethodController](#getInputMethodController)回调获取到InputMethodController实例,再通过此实例调用对应方法。
Z
zhouyongfei 已提交
76 77 78 79 80 81 82

### stopInput

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

隐藏输入法。

Z
refresh  
zhouyongfei 已提交
83
**系统能力**:SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
84 85 86 87 88 89 90 91 92

- 参数

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

- 示例

93
```js
Z
zhouyongfei 已提交
94 95 96 97 98 99 100 101 102 103 104
 InputMethodController.stopInput((error)=>{
     console.info('stopInput');
 });
```

### stopInput

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

隐藏输入法。

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

Z
refresh  
zhouyongfei 已提交
107
- 返回值
Z
zhouyongfei 已提交
108

Z
refresh  
zhouyongfei 已提交
109 110 111
  | 类型 | 说明 |
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 返回输入法隐藏是否成功。 |
Z
zhouyongfei 已提交
112 113 114 115

- 示例


116
```js
Z
zhouyongfei 已提交
117 118 119 120
 var isSuccess = InputMethodController.stopInput();
 console.info('stopInput isSuccess = ' + isSuccess);
```

Z
refresh  
zhouyongfei 已提交
121
## InputMethodSetting<sup>8+</sup><a name="InputMethodSetting"></a>
Z
zhouyongfei 已提交
122

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

Z
refresh  
zhouyongfei 已提交
125
### listInputMethod
Z
zhouyongfei 已提交
126 127 128 129 130

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

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

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

Z
refresh  
zhouyongfei 已提交
133 134 135 136
- 参数
  | 参数名   | 类型                                               | 必填 | 说明                   |
  | -------- | -------------------------------------------------- | ---- | ---------------------- |
  | callback | Array<[InputMethodProperty](#InputMethodProperty)> | 是   | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
137 138

- 示例
139
  ```js
Z
zhouyongfei 已提交
140
   InputMethodSetting.listInputMethod((properties)=>{
Z
zhouyongfei 已提交
141 142 143 144
     for (var i = 0;i < properties.length; i++) {
       var property = properties[i];
       console.info(property.packageName + "/" + property.methodId);
     }
Z
zhouyongfei 已提交
145 146 147
  });
  ```

Z
refresh  
zhouyongfei 已提交
148
### listInputMethod
Z
zhouyongfei 已提交
149 150 151 152 153

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

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

Z
refresh  
zhouyongfei 已提交
154
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
155 156

- 返回值
Z
refresh  
zhouyongfei 已提交
157 158 159
  | 类型                                                        | 说明                   |
  | ----------------------------------------------------------- | ---------------------- |
  | Promise<Array<[InputMethodProperty](#InputMethodProperty)>> | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
160 161

- 示例
162
  ```js
Z
zhouyongfei 已提交
163 164 165
   var properties = InputMethodSetting.listInputMethod();
   for (var i = 0;i < properties.length; i++) {
     var property = properties[i];
Z
zhouyongfei 已提交
166
     console.info(property.packageName + "/" + property.methodId);
Z
zhouyongfei 已提交
167 168 169
   }
  ```

Z
refresh  
zhouyongfei 已提交
170
### displayOptionalInputMethod
Z
zhouyongfei 已提交
171 172 173 174 175

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

显示输入法选择对话框。

Z
refresh  
zhouyongfei 已提交
176
**系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
177 178 179 180 181 182 183 184

- 参数

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

- 示例
185
  ```js
Z
zhouyongfei 已提交
186 187 188 189 190
   InputMethodSetting.displayOptionalInputMethod(()=>{
     console.info('displayOptionalInputMethod is called');
   });
  ```

Z
refresh  
zhouyongfei 已提交
191
### displayOptionalInputMethod
Z
zhouyongfei 已提交
192 193 194 195 196

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

  显示输入法选择对话框。

Z
refresh  
zhouyongfei 已提交
197
  **系统能力**: SystemCapability.Miscservices.InputMethodFramework
Z
zhouyongfei 已提交
198 199 200

- 返回值

Z
refresh  
zhouyongfei 已提交
201
| 类型 | 说明 |
Z
zhouyongfei 已提交
202 203 204 205
| -------- | -------- |
| Promise&lt;void&gt; | 回调函数。 |

  - 示例
206
    ```js
Z
zhouyongfei 已提交
207 208
     InputMethodSetting.displayOptionalInputMethod();
    ```