android 动态更改系统语言

转载请声明: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);




你可能感兴趣的:(android 动态更改系统语言)