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: