Android:从代码确定活动的input法

您如何确定哪种input法当前处于活动状态 – 用户可以通过长按文本编辑字段来更改input法(软键盘) – 从代码中,如何确定用户select了哪种input法

Solutions Collecting From Web of "Android:从代码确定活动的input法"

我意识到你可能不需要这个了,但有人可能想要这个答案。 您可以使用此行获取使用的input法的stringID:

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; } }