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

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

5 6
>  **说明:**
>
Z
zhouyongfei 已提交
7 8 9 10 11 12
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。


## 导入模块

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

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

常量值。

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

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


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

输入法应用属性。

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

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

38
## inputMethod.getInputMethodController
Z
zhouyongfei 已提交
39 40 41 42 43

getInputMethodController(): InputMethodController

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

44
**系统能力**:SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
45

46
**返回值:**
Z
zhouyongfei 已提交
47 48 49 50 51

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

52
**示例:**
T
explain  
tianyu 已提交
53

54
```js
Z
zhouyongfei 已提交
55
  var InputMethodController = inputMethod.getInputMethodController();
56
```
57

58
## inputMethod.getInputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
59 60 61 62 63

getInputMethodSetting(): InputMethodSetting

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

64
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
65

66
**返回值:**
Z
zhouyongfei 已提交
67

T
explain  
tianyu 已提交
68 69 70
| 类型                                      | 说明                         |
| ----------------------------------------- | ---------------------------- |
| [InputMethodSetting](#InputMethodSetting) | 回调返回当前客户端设置实例。 |
Z
zhouyongfei 已提交
71 72


73
**示例:**
74 75

```js
Z
zhouyongfei 已提交
76
  var InputMethodSetting = inputMethod.getInputMethodSetting();
77
```
G
gaoxiang 已提交
78
## inputMethod.switchInputMethod<sup>9+</sup>
Z
zhouyongfei 已提交
79

G
gaoxiang 已提交
80 81
switchInputMethod(target: InputmethodProperty, callback: AsyncCallback&lt;boolean&gt;): void;

82 83
切换输入法。此接口仅可在Stage模型下使用。

G
gaoxiang 已提交
84 85 86 87 88 89 90

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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
G
gaoxiang 已提交
91
  |target | [InputmethodProperty](#inputmethodproperty8) | 是 | 传入要切换的目标输入法。 |
G
gaoxiang 已提交
92 93 94 95 96 97 98 99 100 101
  | callback | AsyncCallback&lt;boolean&gt; | 是 | 返回输入法切换是否成功。 |


**示例:**

```js
  inputMethod.switchInputMethod({packageName:"com.ohos.inputApp", methodId:"InputDemoService"}).then(res => {
     prompt.showToast({message:"切换输入法成功" + this.imeList[this.flag].packageName, duration: 200});
 });
```
G
gaoxiang 已提交
102
## inputMethod.switchInputMethod<sup>9+</sup>
G
gaoxiang 已提交
103 104
switchInputMethod(target: InputmethodProperty): Promise&lt;boolean&gt;

105
切换输入法。此接口仅可在Stage模型下使用。
G
gaoxiang 已提交
106 107 108

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

G
gaoxiang 已提交
109
**参数:**
G
gaoxiang 已提交
110 111 112

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

G
gaoxiang 已提交
115 116 117
**返回值:**
  | 类型                                      | 说明                         |
  | ----------------------------------------- | ---------------------------- |
118
  | Promise\<boolean> | 回调返回切换后的输入法。 |
G
gaoxiang 已提交
119

G
gaoxiang 已提交
120 121 122 123 124 125 126 127
**示例:**


```js
  inputMethod.switchInputMethod({packageName:"com.ohos.inputApp", methodId:"InputDemoService"}).then(res => {
     prompt.showToast({message:"切换输入法成功" + this.imeList[this.flag].packageName, duration: 200});
 });
```
128
## InputMethodController
Z
zhouyongfei 已提交
129

130
下列API示例中都需使用[getInputMethodController](#getinputmethodcontroller)回调获取到InputMethodController实例,再通过此实例调用对应方法。
Z
zhouyongfei 已提交
131 132 133 134 135 136 137

### stopInput

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

隐藏输入法。

138
**系统能力**:SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
139

140
**参数:**
Z
zhouyongfei 已提交
141

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

146
**示例:**
Z
zhouyongfei 已提交
147

148
```js
149
  InputMethodController.stopInput((error)=>{
Z
zhouyongfei 已提交
150 151 152 153 154 155 156 157 158 159
     console.info('stopInput');
 });
```

### stopInput

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

隐藏输入法。

160
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
161

162
**返回值:**
Z
zhouyongfei 已提交
163

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

168
**示例:**
Z
zhouyongfei 已提交
169 170


171
```js
172 173
  var isSuccess = InputMethodController.stopInput();
  console.info('stopInput isSuccess = ' + isSuccess);
Z
zhouyongfei 已提交
174 175
```

176
## InputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
177

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

Z
refresh  
zhouyongfei 已提交
180
### listInputMethod
Z
zhouyongfei 已提交
181 182 183 184 185

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

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

186
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
187

188
**参数:**
T
explain  
tianyu 已提交
189 190 191
| 参数名   | 类型                                               | 必填 | 说明                   |
| -------- | -------------------------------------------------- | ---- | ---------------------- |
| callback | Array<[InputMethodProperty](#InputMethodProperty)> | 是   | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
192

193
**示例:**
T
explain  
tianyu 已提交
194

195
```js
196 197 198 199 200
  InputMethodSetting.listInputMethod((properties)=>{
    for (var i = 0;i < properties.length; i++) {
      var property = properties[i];
      console.info(property.packageName + "/" + property.methodId);
    }
Z
zhouyongfei 已提交
201
  });
202
```
Z
zhouyongfei 已提交
203

Z
refresh  
zhouyongfei 已提交
204
### listInputMethod
Z
zhouyongfei 已提交
205

206
listInputMethod(): Array&lt;InputMethodProperty&gt;
Z
zhouyongfei 已提交
207 208 209

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

210
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
211

212
**返回值:**
T
explain  
tianyu 已提交
213 214 215
| 类型                                                        | 说明                   |
| ----------------------------------------------------------- | ---------------------- |
| Promise<Array<[InputMethodProperty](#InputMethodProperty)>> | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
216

217
**示例:**
218 219

```js
220 221 222 223 224
  var properties = InputMethodSetting.listInputMethod();
  for (var i = 0;i < properties.length; i++) {
    var property = properties[i];
    console.info(property.packageName + "/" + property.methodId);
  }
225
```
Z
zhouyongfei 已提交
226

Z
refresh  
zhouyongfei 已提交
227
### displayOptionalInputMethod
Z
zhouyongfei 已提交
228 229 230 231 232

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

显示输入法选择对话框。

233
**系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
234

235
**参数:**
Z
zhouyongfei 已提交
236 237 238 239 240

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

241
**示例:**
242 243

```js
244 245 246
  InputMethodSetting.displayOptionalInputMethod(()=>{
    console.info('displayOptionalInputMethod is called');
  });
247
```
Z
zhouyongfei 已提交
248

Z
refresh  
zhouyongfei 已提交
249
### displayOptionalInputMethod
Z
zhouyongfei 已提交
250 251 252 253 254

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

  显示输入法选择对话框。

255
  **系统能力**: SystemCapability.MiscServices.InputMethodFramework
Z
zhouyongfei 已提交
256

257
**返回值:**
Z
zhouyongfei 已提交
258

Z
refresh  
zhouyongfei 已提交
259
| 类型 | 说明 |
Z
zhouyongfei 已提交
260 261 262
| -------- | -------- |
| Promise&lt;void&gt; | 回调函数。 |

263
**示例:**
264 265

```js
266
  InputMethodSetting.displayOptionalInputMethod();
267
```