我想检查是否使用了本机/硬件键盘,如果可能的话,我想禁用第三方键盘。
我的目标很简单,我只使用原生 android 软键盘在我的编辑框中输入值,没有其他键盘可以做到这一点
谢谢
编辑
我知道做我想做的事情不是一个好主意,我知道 android 的基本思想是拥有知道根据意图过滤器处理某些类型的意图的意图、活动和服务。但这在每条规则中都有一个例外,尤其是当我们谈论安全性时。
我想禁用所有第三方键盘,如果使用某些 API 或其他东西无法做到这一点......是否有解决此问题的方法?
编辑
String s=Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD);
这将返回当前启用的输入法(键盘),但我需要“系统键盘”之类的东西,但我看不到任何类似的标志:-(。
List<InputMethodInfo> list = m.getInputMethodList();
一种可能的解决方案是将 list[0] 作为我正在搜索的键盘,但我不想在订单上进行中继(除非保证订单始终带有索引 0 的键盘是随电话)
这是列表的值
[InputMethodInfo{com.htc.android.htcime/.HTCIMEService, settings: com.htc.android.htcime.HTCIMESettings}, InputMethodInfo{com.volosyukivan/.WiFiInputMethod, settings: null}]