【问题标题】:EditorInfo.inputType contains unknown input classEditorInfo.inputType 包含未知的输入类
【发布时间】:2012-01-07 23:54:16
【问题描述】:

我正在编写一个 IME(软键盘),但我从一个应用程序(Android Mail)中得到了一些奇怪的行为。它正在向我的 IME 传递一个未知的输入类(通过 InputMethodService.onStartInputView(EditorInfo)):

EditorInfo.inputType & EditorInfo.TYPE_MASK_CLASS = 0xf

问题是0xf不是EditorInfo中定义的输入类之一!根据文档,唯一合法的值是 0x1、0x2、0x3 和 0x4。执行此操作的唯一文本字段是 Android 邮件应用程序中的正文字段。这是 Android Mail 中的错误还是我遗漏了什么?

提前谢谢...

【问题讨论】:

    标签: android android-softkeyboard soft-keyboard


    【解决方案1】:

    在我开发 IME 时发生了这样的事情。

    在我的例子中,HTC Hero 在默认 SMS 应用程序中发送的输入类型与其他设备不同。 目前我们意识到HTC Hero带来了它自己的自定义IME,所以应该已经实现了特定的设备逻辑。

    我的建议如下:

    • 如果您想支持发送此“特殊”输入类型的设备/应用程序,只需以不同方式处理即可。
    • 始终检查默认的 android IME 如何处理它。
    • 文档说明:如果该类不是您理解的类,则假定 TYPE_CLASS_TEXT 没有变体或标志。

    【讨论】:

    • 换句话说,破解它。 :) 这正是我现在正在做的,但我希望对 0xf 输入类有更好的解释。但是,您已经让我相信,可能只有少数 Google 开发人员知道真正的含义,而我只能忍受它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-07
    • 1970-01-01
    • 1970-01-01
    • 2012-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多