Ответ 1
Я не уверен, есть ли прямое решение для этого (в той степени, что даже можно понять реальную причину оригинального вопроса).
Как указано в исходном вопросе:
Если вам нужен какой-то определенный для приложения вход, вы должны его встроить в свой интерфейс вместо того, чтобы выталкивать его в общий IME.
Что подразумевается под этим, не то, что вы в своем приложении должны пытаться создавать такие функции ввода, расширяя или изменяя мягкую клавиатуру на телефоне. Существует так много разных мягких клавиатур (и в основном, мягкая клавиатура - это еще одно приложение), так как большинство производителей телефонов создают свою собственную версию, и люди загружают сторонние клавиатуры (такие как Swype или SwiftKey и т.д.), И я не могу что у вас есть способ "взломать" в них, чтобы добавить несколько кнопок или что бы вы ни хотели (что также могло бы стать серьезным ядром безопасности, другая причина, почему это, вероятно, невозможно).
Что вместо приведенной выше цитаты, так это то, что вам нужно создать другую форму ввода, кроме клавиатуры. Один из таких примеров и очень хороший, если можно добавить, заключается в том, как выглядит RealCalc Scientific Calculator:
Теперь это не открытый исходный код, поэтому я могу только догадываться, как выглядит код (но это не должно быть слишком сложно): в его простейшей форме это всего лишь сетка с большим количеством . Каждая кнопка обрабатывает событие onClick, что означает выполнение какого-либо действия (изменение метки на некоторых других кнопках, отображение меню, отображение текста на верхней метке или что-то еще), и, вероятно, в значительной степени для этого. И, конечно, мягкая клавиатура телефона никогда не отображается (так как вам не нужна клавиатура со всеми этими кнопками (а также нет никаких полей ввода для записи чего-либо)).
Все это сводится к уже упомянутой цитате: Если вам нужен какой-то определенный для приложения вход, вы должны создать его в свой пользовательский интерфейс. Или, другими словами: создавать кнопки (и не отображать мягкую клавиатуру, если она вам не нужна) и делать что-то, когда вы нажимаете на них.
И просто, чтобы упомянуть об этом: если вы хотите создать свой собственный IME (который, как я полагаю, не так), вы должны посмотреть на следующие ресурсы: