Android:从代码确定活动输入法

时间:2010-07-31 23:59:26

标签: android android-input-method

如何确定当前处于活动状态的输入法 - 用户可以通过长按文本编辑字段来更改输入法(软键盘) - 从代码中,如何确定用户选择的输入法

1 个答案:

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