EditorInfo.inputType содержит неизвестный класс ввода - PullRequest
2 голосов
/ 08 января 2012

Я пишу IME (программную клавиатуру) и получаю странное поведение из одного приложения (Android Mail). Он передает неизвестный входной класс в мой IME (через InputMethodService.onStartInputView (EditorInfo) ):

EditorInfo.inputType & EditorInfo.TYPE_MASK_CLASS = 0xf

Проблема в том, что 0xf не является одним из классов ввода, определенных в EditorInfo! Согласно документам единственными допустимыми значениями являются 0x1, 0x2, 0x3 и 0x4. ЕДИНСТВЕННОЕ текстовое поле, которое делает это, является полем тела в приложении Почты Android. Это ошибка в Android Mail или я что-то упустил?

Заранее спасибо ...

1 Ответ

1 голос
/ 25 января 2012

Нечто подобное произошло со мной, когда я разработал IME.

. В моем случае HTC Hero отправлял входы другого типа, чем другие устройства, в приложении SMS по умолчанию.На данный момент мы поняли, что в HTC Hero есть свой собственный IME, поэтому должна была быть реализована логика конкретного устройства.

Моя рекомендация следующая:

  • Если вы хотитеподдерживать устройство / приложение, которое отправляет этот «специальный» тип ввода, просто обрабатывать его по-разному.
  • Всегда проверять, как обрабатывает android IME по умолчанию.
  • Документация гласит: если класс нетот, который вы понимаете, примите TYPE_CLASS_TEXT без изменений или флагов.
...