我正在编写IME(软键盘),并且从一个应用程序(Android Mail)中得到了一些奇怪的行为。它将未知输入类传递给我的IME(通过InputMethodService.onStartInputView(EditorInfo)):
EditorInfo.inputType & EditorInfo.TYPE_MASK_CLASS = 0xf
问题是0xf不是EditorInfo中定义的输入类之一!根据文档,唯一合法的值是0x1、0x2、0x3和0x4。执行此操作的唯一文本字段是Android Mail应用程序中的正文字段。这是Android Mail中的错误还是我遗漏了一些东西?
提前致谢...
最佳答案
当我开发IME
时,这种事情发生在我身上。
就我而言,HTC Hero发送的输入类型与默认SMS应用程序中的其他设备不同。
此刻,我们意识到HTC Hero带来了自己的自定义IME
,因此应该实现特定的设备逻辑。
我的建议如下:
如果要支持发送此“特殊”输入类型的设备/应用程序,则只需以不同的方式进行处理即可。
始终检查默认android IME
如何处理它。
文档说明:如果您不理解该类,请假定TYPE_CLASS_TEXT没有变体或标志。