我有一个问题,无法更改Android 6.0.1的语言。在新的Android版本中,更改语言可以正常工作,但在6.0.1上设置默认字符串而不考虑设备设置的语言。模拟器可以工作,但当我在三星J5上安装apk时,在Android 6.0.1上更改语言无法工作。是否有任何解决方案?谢谢。
private void setLocale(String lang) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) {
Locale locale = new Locale(lang);
Locale.setDefault(locale);
Configuration config =
getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
} else {
Resources resources = getBaseContext().getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLocale(new Locale(lang));
getBaseContext().getApplicationContext().createConfigurationContext(configuration);
}
// shared pref.
SharedPreferences.Editor editor = getSharedPreferences("Settings", MODE_PRIVATE).edit();
editor.putString("My_Lang", lang);
editor.apply();
}
setContentView
之前更新本地化设置 - 这对我很有帮助!谢谢 :) - SerjantArbuz