如何知道是否启用了“InputMethod”?

时间:2016-06-19 18:03:35

标签: android android-input-method

我正在从头开始编写自定义InputMethod,并希望向用户显示Activity中的按钮以启用InputMethod以防其被禁用...

我需要以编程方式查找设备中是否启用了InputMethod

我该怎么做?

1 个答案:

答案 0 :(得分:1)

您可以使用InputMethodManager获取已启用的InputMethodInfo列表并对其进行迭代,以确定您的InputMethod是否已启用。

public boolean isMyInputMethodEnabled() {
    boolean isEnabled = false;

    InputMethodManager inputMethodManager
            = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
    List<InputMethodInfo> inputMethodList = inputMethodManager
            .getEnabledInputMethodList();

    for (InputMethodInfo inputMethodInfo : inputMethodList) {
        if (inputMethodInfo.getPackageName().equals(getPackageName())) {
            isEnabled = true;
            break;
        }
    }

    return isEnabled;
}