Как проверить, используется ли родная / аппаратная клавиатура?
Я хочу проверить, используется ли встроенная / аппаратная клавиатура, а также, если возможно, я хочу отключить сторонние клавиатуры.
Моя цель проста: я использую только встроенную программную клавиатуру Android для ввода значений в свои поля ввода, и никакая другая клавиатура не должна этого делать
Спасибо
РЕДАКТИРОВАТЬ
Я знаю, что не стоит делать то, что я пытаюсь сделать, я знаю, что основная идея android - иметь намерения, действия и сервисы, которые знают, как обрабатывать некоторые типы намерений в соответствии с фильтром намерений. Но в каждом правиле есть исключение, особенно когда мы говорим о безопасности.
Я хочу отключить все сторонние клавиатуры, и если это невозможно сделать с помощью какого-либо API или чего-то еще ... есть ли решение этой проблемы?
РЕДАКТИРОВАТЬ
String s=Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
Это возвращает включенный в настоящее время метод ввода (клавиатура), но мне нужно что-то вроде «системной клавиатуры», и я не вижу такого флага :-(.
List<InputMethodInfo> list = m.getInputMethodList();
Одним из возможных решений является использование списка [0] в качестве клавиатуры, которую я ищу, но я не хочу ретранслировать заказ (за исключением случаев, когда гарантируется, что всегда указывается клавиатура с индексом 0, которая устанавливается вместе с Телефон)
это значение списка
[InputMethodInfo{com.htc.android.htcime/.HTCIMEService, settings: com.htc.android.htcime.HTCIMESettings}, InputMethodInfo{com.volosyukivan/.WiFiInputMethod, settings: null}]