需要完成的功能是点击指定按钮后修改系统语言,并让应用跟随系统切换语言private void switchLanguage(){
IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = null ;
try {
config = am.getConfiguration();
//更改系统语言
if (config.locale.equals(Locale.SIMPLIFIED_CHINESE)) {
config.locale = Locale.ENGLISH;
}else {
config.locale = Locale.SIMPLIFIED_CHINESE;
}
//更新系统设置
am.updateConfiguration(config);
//BackupManager.dataChanged("com.android.providers.settings");
} catch (RemoteException e) {
e.printStackTrace();
}
System.out.println(config.locale);
//updateUI();
}
添加权限
上面的方法已经完成了修改系统的语言,打开系统设置界面adb shell am start -n com.android.settings/.Settings
可以发现设置界面的语言已经跟随系统更改了,如果要当前应用更改语言显示还需要一些步骤