转载请声明:http://bbs.niuzhi.cc/thread-21-1-1.html
如果要在自己的程序里更改整个系统的语言,可以使用以下方法
public void changeSystemLanguage(Locale locale){
try {
Class cls_ActivityManagerNative=Class.forName("android.app.ActivityManagerNative");
Object activityManagerNative=cls_ActivityManagerNative.getDeclaredMethod("getDefault",null).invoke(null, null);
Configuration configuration;
configuration = (Configuration)activityManagerNative.getClass().getMethod("getConfiguration",null).invoke(activityManagerNative, null);
configuration.locale=Locale.US;
configuration.getClass().getDeclaredField("userSetLocale").setBoolean(configuration, true);
cls_ActivityManagerNative.getMethod("updateConfiguration", Configuration.class).invoke(activityManagerNative, configuration);
} catch (Exception e) {
e.printStackTrace();
}
}
调用方法如下:
changeSystemLanguage(Locale.US);