• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# 输入法框架错误码
2<!--Kit: IME Kit-->
3<!--Subsystem: MiscServices-->
4<!--Owner: @illybyy-->
5<!--Designer: @andeszhang-->
6<!--Tester: @murphy1984-->
7<!--Adviser: @zhang_yixin13-->
8
9> **说明:**
10>
11> 以下仅介绍本模块特有错误码,通用错误码请参考[通用错误码说明文档](../errorcode-universal.md)。
12
13## 12800001 包管理服务异常
14
15**错误信息**
16
17Bundle manager error.
18
19**错误描述**
20
21当依赖包管理接口来获取一些信息失败时,系统会报此错误码。
22
23**可能原因**
24
25在调用getInputMethods、listCurrentInputMethodSubtype等接口获取输入法及子类型时,由于获取包管理服务异常会报错。
26
27**处理步骤**
28
2930
31## 12800002 输入法应用异常
32
33**错误信息**
34
35Input method engine error. Possible causes:
361. input method panel not created.
372. the input method application does not subscribe to related events.
38
39**错误描述**
40
41在执行显示键盘、隐藏键盘等操作时,由于输入法应用进程死亡导致操作失败,系统会报此错误码。
42
43**可能原因**
44
451. 输入法面板未创建。
462. 输入法应用不订阅相关事件。
47
48**处理步骤**
49
50检查输入法应用进程是否正常运行。例如:可在应用中点击对话框,观察键盘是否能正常弹出。
51
52## 12800003 客户端应用异常
53
54**错误信息**
55
56Input method client error. Possible causes:
571. the edit box is not focused.
582. no edit box is bound to current input method application.
59
60**错误描述**
61
62当应用(微信、设置、联系人等)的对话框等编辑控件调用显示键盘、隐藏键盘失败时,系统会报此错误码。
63
64**可能原因**
65
661. 应用没有获得焦点。
672. 应用客户端服务异常导致输入法应用与应用客户端断连。
68
69**处理步骤**
70
711. 重新将输入法应用与应用进行绑定:将应用后台进程杀死,重新启动应用,通过点击对话框等方式触发输入法键盘的显示,若键盘正常显示,则问题解决。
722. 将第应用切换至前台,并确保无其他应用或窗口遮挡。通过点击对话框等方式触发键盘弹出。
73
74## 12800004 不是输入法应用
75
76**错误信息**
77
78Not an input method application.
79
80**错误描述**
81
82当其他应用调用了仅支持输入法应用调用的接口时,系统会报此错误码。
83
84**可能原因**
85
86在其他应用中调用了仅支持输入法应用调用的接口。
87
88**处理步骤**
89
90在输入法应用中调用此接口。
91
92## 12800005 配置固化失败
93
94**错误信息**
95
96Configuration persistence error.
97
98**错误描述**
99
100当保存配置失败时,系统会报此错误码。
101
102**可能原因**
103
104当调用切换输入法接口的时候,会保存输入法的配置参数,系统参数配置模块异常导致参数保存失败时会报错。
105
106**处理步骤**
107
108执行命令`hdc shell param get persist.sys.default_ime`查看默认输入法参数。若参数可正常显示,则系统参数配置模块正常,建议重启设备后重试。
109
110## 12800006 输入法控制器异常
111
112**错误信息**
113
114Input method controller error. Possible cause: create InputMethodController object failed.
115
116**错误描述**
117
118当获取到输入法控制器失败时,系统会报此错误码。
119
120**可能原因**
121
122在调用getController接口获取输入法控制器InputMethodController时发生异常时会报错。
123
124**处理步骤**
125
126无。
127
128## 12800007 输入法设置器异常
129
130**错误信息**
131
132Input method setter error. Possible cause: create InputMethodSetting object failed.
133
134**错误描述**
135
136当获取到输入法设置器发生错误时,系统会报此错误码。
137
138**可能原因**
139
140在调用getSetting接口获取输入法设置器InputMethodSetting时发生异常时会报错。
141
142**处理步骤**
143
144无。
145
146## 12800008 输入法管理服务异常
147
148**错误信息**
149
150Input method manager service error. Possible cause: a system error, such as null pointer, IPC exception.
151
152**错误描述**
153
154获取输入法管理服务异常时,系统会报此错误码。
155
156**可能原因**
157
158当调用[输入法框架](js-apis-inputmethod.md)中的任何接口都有可能由于依赖输入法管理服务,而服务找不到时发生此异常。
159
160**处理步骤**
161
162执行命令`ps -A | grep inputmethod`检查输入法服务的进程号。若进程存在,则服务正常运行。
163
164## 12800009 输入法客户端未绑定
165
166**错误信息**
167
168Input method client detached.
169
170**错误描述**
171
172当前应用未绑定输入法应用。
173
174**可能原因**
175
176当前应用在没有绑定输入法的情况下执行了比如showTextInput、hideTextInput等操作。
177
178**处理步骤**
179
180需先执行`attach`接口操作。
181
182## 12800010 不是系统配置的默认输入法
183
184**错误信息**
185
186Not the preconfigured default input method.
187
188**错误描述**
189
190调用者应用不是系统配置的默认输入法。
191
192**可能原因**
193
194其他应用调用了仅支持系统配置的默认输入法应用调用的接口。
195
196**处理步骤**
197
198开发者可以通过接口[getDefaultInputMethod](js-apis-inputmethod.md#inputmethodgetdefaultinputmethod11)查询系统配置默认输入法,判断当前应用是否为默认输入法,若不是,则不支持调用此接口。
199
200## 12800011 当前输入框不支持预上屏
201
202**错误信息**
203
204Text preview not supported.
205
206**错误描述**
207
208当前输入框不支持预上屏。
209
210**可能原因**
211
212当前输入框未支持预上屏功能。
213
214**处理步骤**
215
216开发者可通过接口[getEditorAttributeSync](js-apis-inputmethodengine.md#geteditorattributesync10)获取编辑框属性[EditorAttribute](js-apis-inputmethodengine.md#editorattribute)的isTextPreviewSupported,读取当前输入框是否支持预上屏,若不支持,则此接口不支持调用。
217
218## 12800012 软键盘类型面板未创建
219
220**错误信息**
221
222The input method panel does not exist.
223
224**错误描述**
225
226软键盘类型输入法面板未创建。
227
228**可能原因**
229
230调用者输入法应用未创建软键盘类型面板。
231
232**处理步骤**
233
234开发者可以通过接口[createPanel](js-apis-inputmethodengine.md#createpanel10)创建[软键盘类型](js-apis-inputmethodengine.md#paneltype10)的[面板](js-apis-inputmethodengine.md#panel10)。
235
236## 12800013 窗口管理服务错误
237
238**错误信息**
239
240Window manager service error.
241
242**错误描述**
243
244窗口管理服务错误。
245
246**可能原因**
247
248开发者调用此接口后,系统会使用窗口管理服务模块的能力。若由于系统的窗口管理服务功能问题导致接口功能异常,则抛出此错误码。
249
250**处理步骤**
251
252建议重启设备后重试调用接口。
253
254## 12800014 输入法应用非完全访问模式
255
256**错误信息**
257
258The input method is in basic mode.
259
260**错误描述**
261
262输入法应用非完全访问模式。
263
264**可能原因**
265
266开发者调用要求需开启完全访问模式的接口后,若当前输入法非完全访问模式,则抛出此错误码。
267
268**处理步骤**
269
270在设置中开启当前输入法的完全访问模式。
271
272## 12800015 消息接收端无法接收自定义通信数据
273
274**错误信息**
275
276The other side does not accept the request.
277
278**错误描述**
279
280消息接收端无法接收自定义通信数据。
281
282**可能原因**
283
284开发者调用发送自定义通信数据接口时,若消息接收端未注册[MessageHandler](js-apis-inputmethodengine.md#messagehandler15)接收数据,则抛出此错误码。
285
286**处理步骤**
287
288消息接收端需注册MessageHandler接收自定义通信数据,输入法应用侧调用[recvMessage](js-apis-inputmethodengine.md#recvmessage15),输入法客户端侧调用[recvMessage](js-apis-inputmethod.md#recvmessage15)。
289
290## 12800016 输入法客户端未处于编辑状态
291
292**错误信息**
293
294Input method client is not editable.
295
296**错误描述**
297
298输入法客户端未处于编辑状态。
299
300**可能原因**
301
302输入法客户端绑定后退出编辑状态。例如:自绘控件调用`Attach`后,又调用了[hideTextInput](js-apis-inputmethod.md#hidetextinput10)操作等。
303
304**处理步骤**
305
306输入法客户端绑定后退出编辑状态,需重新进入编辑状态。如:自绘控件需调用[showTextInput](js-apis-inputmethod.md#showtextinput10)重新进入编辑状态。
307
308## 12800017 无效的面板类型或面板状态
309
310**错误信息**
311
312Invalid panel type or panel flag.
313
314**错误描述**
315
316无效的面板类型或面板状态。
317
318**可能原因**
319
320当前的输入法[面板类型](js-apis-inputmethodengine.md#paneltype10)或[面板状态](js-apis-inputmethodengine.md#panelflag10)不支持其调用此接口,或者此接口不支持开发者传入当前面板类型或面板状态,则抛出此错误码。
321
322**处理步骤**
323
324建议开发者进一步阅读接口使用说明,按要求调整当前的输入法面板类型或者面板状态。
325
326## 12800018 输入法未找到
327
328**错误信息**
329
330The input method is not found.
331
332**错误描述**
333
334输入法未找到。
335
336**可能原因**
337
338该输入法未安装。
339
340**处理步骤**
341
342开发者可以通过接口[getAllInputMethods](js-apis-inputmethod.md#getallinputmethods11)查询所有已经安装的输入法。
343
344<!--Del-->
345## 12800019 系统配置的默认输入法不支持此操作
346
347**错误信息**
348
349Current operation cannot be applied to the preconfigured default input method.
350
351**错误描述**
352
353系统配置的默认输入法不支持此操作。
354
355**可能原因**
356
357开发者调用接口[enableInputMethod](js-apis-inputmethod-sys.md#enableinputmethod20)设置系统配置的默认输入法的启用状态或访问模式[EnabledState](js-apis-inputmethod.md#enabledstate15)。
358
359**处理步骤**
360
361开发者可以通过接口[getDefaultInputMethod](js-apis-inputmethod.md#inputmethodgetdefaultinputmethod11)查询系统配置的默认输入法,判断当前操作的输入法是否为系统配置的默认输入法,若是,则不做处理。
362
363<!--DelEnd-->
364
365## 12800020 沉浸效果不正确
366
367**错误信息**
368
369Invalid immersive effect.
3701. The gradient mode and the fluid light mode can only be used when the immersive mode is enabled.
3712. The fluid light mode can only be used when the gradient mode is enabled.
3723. When the gradient mode is not enabled, the gradient height can only be 0.
373
374**错误描述**
375
3761. 只有在启用沉浸式模式时,才能使用渐变模式和流光模式。
3772. 只有在启用渐变模式时,才能使用流光模式。
3783. 未启用渐变模式时,渐变高度只能为0px。
379
380**可能原因**
381
382开发者调用接口[setImmersiveEffect](js-apis-inputmethodengine.md#setimmersiveeffect20)设置输入法沉浸效果[ImmersiveEffect](js-apis-inputmethodengine.md#immersiveeffect20)时,传入的参数不满足上述条件。
383
384**处理步骤**
3851. 先打开沉浸模式,再设置渐变模式和流光模式。
3862. 先打开渐变模式,再设置流光模式。
3873. 未启用渐变模式时,将渐变高度设置为0px。
388
389
390## 12800021 系统配置的默认输入法不支持此操作
391
392**错误信息**
393
394this operation is allowed only after adjustPanelRect or resize is called.
395
396**错误描述**
397
398必须先调用以下任一接口,才能调用当前接口:
399  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect12)(支持API version 12)
400  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect15)(支持API version 15)
401  - [resize](js-apis-inputmethodengine.md#resize10)(支持API version 10)
402
403**可能原因**
404
405开发者调用接口[setImmersiveEffect](js-apis-inputmethodengine.md#setimmersiveeffect20)之前,没有调用以下任一接口:
406  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect12)(支持API version 12)
407  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect15)(支持API version 15)
408  - [resize](js-apis-inputmethodengine.md#resize10)(支持API version 10)
409
410**处理步骤**
411
412先调用以下任一接口,再调用setImmersiveEffect接口:
413  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect12)(支持API version 12)
414  - [adjustPanelRect](js-apis-inputmethodengine.md#adjustpanelrect15)(支持API version 15)
415  - [resize](js-apis-inputmethodengine.md#resize10)(支持API version 10)