Class clazz = Class.forName("android.app.ActivityManagerNative");
Log.i("amnType", clazz.toString());
object1 = clazz.getMethod("getDefault", new Class[0]).invoke(clazz, new Object[0]);
Log.i("amType", object1.getClass().toString());
object2 = object1.getClass().getMethod("getConfiguration", new Class[0]).invoke(object1, new Object[0]);
Log.i("configType", object2.getClass().toString());
object2.getClass().getDeclaredField("locale").set(object2, Locale.CHINA);//重点是这里,设置语言
object2.getClass().getDeclaredField("userSetLocale").setBoolean(object2, true);
object1.getClass().getMethod("updateConfiguration", new Class[]{android.content.res.Configuration.class}).invoke(object1, new Object[]{object2});
BackupManager.dataChanged("com.android.providers.settings");
绝对有效!!!!!!太难了我
这是我修改语言的方式:
zh-Hans-CN这个是什么语言???
我们是通过反射设置的。