Как проверить, используется ли родная / аппаратная клавиатура?

Я хочу проверить, используется ли встроенная / аппаратная клавиатура, а также, если возможно, я хочу отключить сторонние клавиатуры.

Моя цель проста: я использую только встроенную программную клавиатуру 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}]

Ответы на вопрос(3)

Ваш ответ на вопрос