js-apis-inputmethod.md 7.0 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
## InputMethodProperty<sup>8+</sup>
Z
zhouyongfei 已提交
25 26 27

输入法应用属性。

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
## inputMethod.getInputMethodController
Z
zhouyongfei 已提交
36 37 38 39 40

getInputMethodController(): InputMethodController

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

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

43
**返回值:**
Z
zhouyongfei 已提交
44 45 46 47 48

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

49
**示例:**
50 51
  
```js
Z
zhouyongfei 已提交
52
  var InputMethodController = inputMethod.getInputMethodController();
53
```
54

55
## inputMethod.getInputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
56 57 58 59 60

getInputMethodSetting(): InputMethodSetting

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

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

63
**返回值:**
Z
zhouyongfei 已提交
64 65 66 67 68 69

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


70
**示例:**
71 72

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

G
gaoxiang 已提交
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
switchInputMethod(target: InputmethodProperty, callback: AsyncCallback&lt;boolean&gt;): void;


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

**参数:**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  |target | InputmethodProperty | 是 | 传入要切换的目标输入法。 |
  | 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});
 });
```

switchInputMethod(target: InputmethodProperty): Promise&lt;boolean&gt;


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

**返回值:**

  | 参数名 | 类型 | 必填 | 说明 |
  | -------- | -------- | -------- | -------- |
  |target | InputmethodProperty | 是 | 传入要切换的目标输入法。 |

**示例:**


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

Z
refresh  
zhouyongfei 已提交
119
下列API示例中都需使用[getInputMethodController](#getInputMethodController)回调获取到InputMethodController实例,再通过此实例调用对应方法。
Z
zhouyongfei 已提交
120 121 122 123 124 125 126

### stopInput

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

隐藏输入法。

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

129
**参数:**
Z
zhouyongfei 已提交
130 131 132 133 134

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

135
**示例:**
Z
zhouyongfei 已提交
136

137
```js
138
  InputMethodController.stopInput((error)=>{
Z
zhouyongfei 已提交
139 140 141 142 143 144 145 146 147 148
     console.info('stopInput');
 });
```

### stopInput

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

隐藏输入法。

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

151
**返回值:**
Z
zhouyongfei 已提交
152

Z
refresh  
zhouyongfei 已提交
153 154 155
  | 类型 | 说明 |
  | -------- | -------- |
  | Promise&lt;boolean&gt; | 返回输入法隐藏是否成功。 |
Z
zhouyongfei 已提交
156

157
**示例:**
Z
zhouyongfei 已提交
158 159


160
```js
161 162
  var isSuccess = InputMethodController.stopInput();
  console.info('stopInput isSuccess = ' + isSuccess);
Z
zhouyongfei 已提交
163 164
```

165
## InputMethodSetting<sup>8+</sup>
Z
zhouyongfei 已提交
166

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

Z
refresh  
zhouyongfei 已提交
169
### listInputMethod
Z
zhouyongfei 已提交
170 171 172 173 174

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

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

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

177
**参数:**
Z
refresh  
zhouyongfei 已提交
178 179 180
  | 参数名   | 类型                                               | 必填 | 说明                   |
  | -------- | -------------------------------------------------- | ---- | ---------------------- |
  | callback | Array<[InputMethodProperty](#InputMethodProperty)> | 是   | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
181

182
**示例:**
183 184
  
```js
185 186 187 188 189
  InputMethodSetting.listInputMethod((properties)=>{
    for (var i = 0;i < properties.length; i++) {
      var property = properties[i];
      console.info(property.packageName + "/" + property.methodId);
    }
Z
zhouyongfei 已提交
190
  });
191
```
Z
zhouyongfei 已提交
192

Z
refresh  
zhouyongfei 已提交
193
### listInputMethod
Z
zhouyongfei 已提交
194

195
listInputMethod(): Array&lt;InputMethodProperty&gt;
Z
zhouyongfei 已提交
196 197 198

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

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

201
**返回值:**
Z
refresh  
zhouyongfei 已提交
202 203 204
  | 类型                                                        | 说明                   |
  | ----------------------------------------------------------- | ---------------------- |
  | Promise<Array<[InputMethodProperty](#InputMethodProperty)>> | 返回已安装输入法列表。 |
Z
zhouyongfei 已提交
205

206
**示例:**
207 208

```js
209 210 211 212 213
  var properties = InputMethodSetting.listInputMethod();
  for (var i = 0;i < properties.length; i++) {
    var property = properties[i];
    console.info(property.packageName + "/" + property.methodId);
  }
214
```
Z
zhouyongfei 已提交
215

Z
refresh  
zhouyongfei 已提交
216
### displayOptionalInputMethod
Z
zhouyongfei 已提交
217 218 219 220 221

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

显示输入法选择对话框。

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

224
**参数:**
Z
zhouyongfei 已提交
225 226 227 228 229

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

230
**示例:**
231 232

```js
233 234 235
  InputMethodSetting.displayOptionalInputMethod(()=>{
    console.info('displayOptionalInputMethod is called');
  });
236
```
Z
zhouyongfei 已提交
237

Z
refresh  
zhouyongfei 已提交
238
### displayOptionalInputMethod
Z
zhouyongfei 已提交
239 240 241 242 243

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

  显示输入法选择对话框。

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

246
**返回值:**
Z
zhouyongfei 已提交
247

Z
refresh  
zhouyongfei 已提交
248
| 类型 | 说明 |
Z
zhouyongfei 已提交
249 250 251
| -------- | -------- |
| Promise&lt;void&gt; | 回调函数。 |

252
**示例:**
253 254

```js
255
  InputMethodSetting.displayOptionalInputMethod();
256
```