Android反射设置系统语言

来源:互联网 发布:虚拟网络服务器 编辑:程序博客网 时间:2024/06/05 17:12




实现方法:

public boolean changeLanguage() {

try {
Class<?> activityManagerNative = Class.forName("android.app.ActivityManagerNative");
Log.i("amnType", activityManagerNative.toString());


Object am = activityManagerNative.getMethod("getDefault").invoke(activityManagerNative);
Log.i("amType", am.getClass().toString());


Object config = am.getClass().getMethod("getConfiguration").invoke(am);
Log.i("configType", config.getClass().toString());
config.getClass().getDeclaredField("locale").set(config, Locale.CHINA);
config.getClass().getDeclaredField("userSetLocale").setBoolean(config, true);


am.getClass().getMethod("updateConfiguration", android.content.res.Configuration.class).invoke(am, config);
BackupManager.dataChanged("com.android.providers.settings");
} catch (Exception e) {
e.printStackTrace();
finish();
return false;
}
finish();
return true;

}



0 0
原创粉丝点击