changeSystemLanguage(Locale locale) {
try {
Class<?> activityManagerNative = Class
.forName("android.app.ActivityManagerNative");
Object am = activityManagerNative.getMethod("getDefault").invoke(activityManagerNative);
Object config = am.getClass().getMethod("getConfiguration").invoke(am);
config.getClass().getDeclaredField("locale").set(config, locale);
config.getClass().getDeclaredField("userSetLocale").setBoolean(config, true);
am.getClass()
.getMethod("updateConfiguration",
android.content.res.Configuration.class).invoke(am, config);
} catch (Exception e) {
e.printStackTrace();
}
}
try {
Class<?> activityManagerNative = Class
.forName("android.app.ActivityManagerNative");
Object am = activityManagerNative.getMethod("getDefault").invoke(activityManagerNative);
Object config = am.getClass().getMethod("getConfiguration").invoke(am);
config.getClass().getDeclaredField("locale").set(config, locale);
config.getClass().getDeclaredField("userSetLocale").setBoolean(config, true);
am.getClass()
.getMethod("updateConfiguration",
android.content.res.Configuration.class).invoke(am, config);
} catch (Exception e) {
e.printStackTrace();
}
}