Android输入法相关(一)

84 阅读1分钟

Android输入法相关(一)

本篇文章简单介绍下Android 系统中输入法相关的一些简单方法.

1: 获取当前默认输入法

 /**
  * @param context
  * @return
  * 获取默认输入法
  */
private static String getDefaultImePackage(Context context) {
     String input = Settings.Secure.getString(context.getContentResolver(),
             Settings.Secure.DEFAULT_INPUT_METHOD);
     Log.i("xxxxx", "getDefaultImePackage: "+input);
     if (!TextUtils.isEmpty(input)) {
         return input.split("/")[0];
     }
     return "";
 }

通过DEFAULT_INPUT_METHOD获取到的是com.baidu.input_oppo/.ImeService

所以当非空时截取了下.

2: 获取所有的输入法

public static List<InputMethodInfo> getInputMethodList(Context context){
    InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
    if (imm == null) {
        return new ArrayList<>();
    }
    List<InputMethodInfo> enabledInputMethodList = imm.getEnabledInputMethodList();
    for (InputMethodInfo inputMethodInfo : enabledInputMethodList) {
        Log.i("xxxxx", "getList: "+inputMethodInfo.getPackageName());
    }
    return enabledInputMethodList;
}

3: 展示输入法选择框.

public static void showInputMethodPicker(Context context) {
    try {
        InputMethodManager imm = (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.showInputMethodPicker();
        }
    } catch (Throwable e) {
        e.printStackTrace();
    }
}

3:

本文由博客一文多发平台 OpenWrite 发布!