如何确定当前处于活动状态的输入法 - 用户可以通过长按文本编辑字段来更改输入法(软键盘) - 从代码中,如何确定用户选择的输入法
答案 0 :(得分:23)
我意识到你可能不再需要这个,但有人可能想要这个答案。您可以使用此行来获取正在使用的输入法的字符串ID:
String id = Settings.Secure.getString(
getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD
);
如果您想获得有关当前键盘的更多信息,可以使用:
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
List<InputMethodInfo> mInputMethodProperties = imm.getEnabledInputMethodList();
final int N = mInputMethodProperties.size();
for (int i = 0; i < N; i++) {
InputMethodInfo imi = mInputMethodProperties.get(i);
if (imi.getId().equals(Settings.Secure.getString(getContentResolver(), Settings.Secure.DEFAULT_INPUT_METHOD))) {
//imi contains the information about the keyboard you are using
break;
}
}