最近因为一个项目要在程序里修改系统 的语言,试了多种方法,最后使用的是下面的方法,特此记录下来
IActivityManager am = ActivityManagerNative.getDefault();
Configuration config = am.getConfiguration();
String able= config.locale.getCountry();
config.locale = Locale.ENGLISH;
config.userSetLocale=true; //必须为true,否则每次重启之后就会恢复默认语言 ,本人亲测
am.updateConfiguration(config);
BackupManager.dataChanged("com.android.providers.settings");
以上代码用到了隐藏的类,要把framework的classes.jar添加 进编译 环境