• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 输入法框架
2
3本模块提供对输入法框架的管理,包括隐藏输入法、查询已安装的输入法列表和拉起选择输入法弹窗。
4
5> **说明:**
6>
7> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
8
9## 导入模块
10
11```js
12import inputMethod from '@ohos.inputmethod';
13```
14
15## 常量<sup>8+</sup>
16
17常量值。
18
19**系统能力:** SystemCapability.Miscservices.InputMethodFramework
20
21| 名称 | 参数类型 | 常量值 | 说明 |
22| -------- | -------- | ---------- | -------- |
23| MAX_TYPE_NUM | number | 128 | 可支持的最大输入法个数。 |
24
25## InputMethodProperty<sup>8+</sup>
26
27输入法应用属性。
28
29**系统能力:** SystemCapability.Miscservices.InputMethodFramework
30
31| 名称 | 参数类型 | 可读 | 可写 | 说明 |
32| -------- | -------- | -------- | -------- | -------- |
33| packageName | string | 是 | 否 | 输入法包名。 |
34| methodId | string | 是 | 否 | 输入法唯一标识。 |
35
36## inputMethod.getInputMethodController
37
38getInputMethodController(): InputMethodController
39
40获取客户端实例[InputMethodController](#inputmethodcontroller)。
41
42**系统能力:** SystemCapability.Miscservices.InputMethodFramework
43
44**返回值:**
45
46| 类型 | 说明 |
47| -------- | -------- |
48| [InputMethodController](#inputmethodcontroller) | 返回当前客户端实例。 |
49
50**示例:**
51
52```js
53let inputMethodController = inputMethod.getInputMethodController();
54```
55
56## inputMethod.getInputMethodSetting<sup>8+</sup>
57
58getInputMethodSetting(): InputMethodSetting
59
60获取客户端设置实例[InputMethodSetting](#inputmethodsetting)。
61
62**系统能力:** SystemCapability.Miscservices.InputMethodFramework
63
64**返回值:**
65
66| 类型                                      | 说明                     |
67| ----------------------------------------- | ------------------------ |
68| [InputMethodSetting](#inputmethodsetting) | 返回当前客户端设置实例。 |
69
70**示例:**
71
72```js
73let inputMethodSetting = inputMethod.getInputMethodSetting();
74```
75
76## InputMethodController
77
78下列API示例中都需使用[getInputMethodController](#inputmethodgetinputmethodcontroller)回调获取到InputMethodController实例,再通过此实例调用对应方法。
79
80### stopInput
81
82stopInput(callback: AsyncCallback&lt;boolean&gt;): void
83
84结束输入法会话。使用callback异步回调。
85
86**系统能力:** SystemCapability.Miscservices.InputMethodFramework
87
88**参数:**
89
90| 参数名 | 类型 | 必填 | 说明 |
91| -------- | -------- | -------- | -------- |
92| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数,返回结束输入法会话是否成功的结果。true表示结束输入法会话成功;false表示结束输入法会话失败。 |
93
94**示例:**
95
96```js
97inputMethodController.stopInput((error, result) => {
98    if (error) {
99        console.error('Failed to stop inputmethod session: ' + JSON.stringify(error));
100        return;
101    }
102    if (result) {
103        console.info('Succeeded in stopping inputmethod session.');
104    } else {
105        console.error('Failed to stop inputmethod session.');
106    }
107});
108```
109
110### stopInput
111
112stopInput(): Promise&lt;boolean&gt;
113
114结束输入法会话。使用Promise异步回调。
115
116**系统能力:** SystemCapability.Miscservices.InputMethodFramework
117
118**返回值:**
119
120| 类型 | 说明 |
121| -------- | -------- |
122| Promise&lt;boolean&gt; | Promise对象,返回结束输入法会话是否成功的结果。true表示结束输入法会话成功;false表示结束输入法会话失败。 |
123
124**示例:**
125
126```js
127inputMethodController.stopInput().then((result) => {
128    if (result) {
129        console.info('Succeeded in stopping inputmethod session.');
130    } else {
131        console.error('Failed to stop inputmethod session');
132    }
133})
134```
135
136## InputMethodSetting<sup>8+</sup>
137
138下列API示例中都需使用[getInputMethodSetting](#inputmethodgetinputmethodsetting)回调获取到InputMethodSetting实例,再通过此实例调用对应方法。
139
140### listInputMethod<sup>8+</sup>
141
142listInputMethod(callback: AsyncCallback&lt;Array&lt;InputMethodProperty&gt;&gt;): void
143
144查询已安装的输入法列表。使用callback异步回调。
145
146**系统能力:** SystemCapability.Miscservices.InputMethodFramework
147
148**参数:**
149
150| 参数名   | 类型                                               | 必填 | 说明                   |
151| -------- | -------------------------------------------------- | ---- | ---------------------- |
152| callback | Array<[InputMethodProperty](#inputmethodproperty)> | 是   | 回调函数,返回已安装的输入法列表。 |
153
154**示例:**
155
156```js
157inputMethodSetting.listInputMethod((err, data) => {
158    if(err) {
159        console.error('Failed to list inputmethods: ' + JSON.stringify(err));
160        return;
161    }
162    console.log('Succeeded in listing inputmethods, data: ' + JSON.stringify(data));
163 });
164```
165
166### listInputMethod<sup>8+</sup>
167
168listInputMethod(): Promise&lt;Array&lt;InputMethodProperty&gt;&gt;
169
170查询已安装的输入法列表。使用Promise异步回调。
171
172**系统能力:** SystemCapability.Miscservices.InputMethodFramework
173
174**返回值:**
175
176| 类型                                                        | 说明                   |
177| ----------------------------------------------------------- | ---------------------- |
178| Promise<Array<[InputMethodProperty](#inputmethodproperty)>> | Promise对象,返回已安装的输入法列表。|
179
180**示例:**
181
182```js
183inputMethodSetting.listInputMethod().then((data) => {
184    console.info('Succeeded in listing inputMethod.');
185}).catch((err) => {
186    console.error('Failed to list inputMethod: ' + JSON.stringify(err));
187})
188```
189
190### displayOptionalInputMethod<sup>8+</sup>
191
192displayOptionalInputMethod(callback: AsyncCallback&lt;void&gt;): void
193
194显示选择输入法弹窗。使用callback异步回调。
195
196**系统能力:** SystemCapability.Miscservices.InputMethodFramework
197
198**参数:**
199
200| 参数名 | 类型 | 必填 | 说明 |
201| -------- | -------- | -------- | -------- |
202| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。当选择输入法弹窗显示成功。err为undefined,否则为错误对象。 |
203
204**示例:**
205
206```js
207inputMethodSetting.displayOptionalInputMethod((err) => {
208    if (err) {
209        console.error('Failed to display optionalInputMethod:' + JSON.stringify(err));
210        return;
211    }
212    console.info('Succeeded in displaying optionalInputMethod.');
213});
214```
215
216### displayOptionalInputMethod<sup>8+</sup>
217
218displayOptionalInputMethod(): Promise&lt;void&gt;
219
220显示选择输入法弹窗。使用Promise异步回调。
221
222**系统能力:** SystemCapability.Miscservices.InputMethodFramework
223
224**返回值:**
225
226| 类型 | 说明 |
227| -------- | -------- |
228| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
229
230**示例:**
231
232```js
233inputMethodSetting.displayOptionalInputMethod().then(() => {
234    console.info('Succeeded in displaying optionalInputMethod.');
235}).catch((err) => {
236    console.error('Failed to display optionalInputMethod: ' + JSON.stringify(err));
237})
238```