1、获取系统默认语言的方法
private String getDefaultInputMethodPkgName(Context context) {
String mDefaultInputMethodPkg = null;
String mDefaultInputMethodCls = Settings.Secure.getString(
context.getContentResolver(),
Settings.Secure.DEFAULT_INPUT_METHOD);
//输入法类名信息
Log.d("aa", "mDefaultInputMethodCls=" + mDefaultInputMethodCls);
if (!TextUtils.isEmpty(mDefaultInputMethodCls)) {
//输入法包名
mDefaultInputMethodPkg = mDefaultInputMethodCls.split("/")[0];
Log.d("aa", "mDefaultInputMethodPkg=" + mDefaultInputMethodPkg);
}
return mDefaultInputMethodPkg;
}2、获取系统默认的输入法列表
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
List<InputMethodInfo> methodList = imm.getInputMethodList(); //这个方法无论你有多少输入法都会全部拿出来
imm.getEnabledInputMethodList();//这个方法只会获取可以使用的输入列表,如果在设置里面选择不可以使用,则就获取不到3、设置
通过列表获取id
String id1 = "";
id1 = methodList.get(i).getId();
Settings.Secure.putString(getContentResolver(),Settings.Secure.DEFAULT_INPUT_METHOD,id1);//通过这个方法设置
4、需要注意的是,我们的apk需要获得系统权限
在清单文件中需要
android:sharedUserId="android.uid.system"<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" android:protectionLevel="signature"/>
<uses-permission android:name="android.permission.INTERACT_ACROSS_USERS_FULL" android:protectionLevel="signature"/>
本文详细介绍了如何在Android系统上通过apk程序修改默认语言,包括获取当前系统语言、获取输入法列表、设置新语言的步骤,并强调了需要apk具备系统权限以及在清单文件中的配置。

381

被折叠的 条评论
为什么被折叠?



