, когда мое приложение разбивается по какой-либо причине или принудительно закрывается, я нажимаю OK button
в сообщении говорит «unfortunately the app has been stopped
». то мое приложение вернуться снова к той же activity
, но получить его в другом наборе языка и вызвать OnResume()
сменить язык программно не работает после приложения силы закрыть
мой вопрос, как сделать мое приложение вернуться к той же Language config
даже когда мое приложение было разбитый по какой-то причине.
Я пытаюсь обновить и получить последний конфиг был установлен в sharedPreferences
и обновить мою конфигурацию или вид контента, но не повезло
Код:
@Override
public void onResume(){
super.onResume();
if(appSharedPrefs.getBoolean("IsArabic",true)){
Log.d("ERRRRR", "AR"); // that is called
setLocale(getApplicationContext(), "ar");
}
else{
Log.d("ERRRRR", "EN");
setLocale(getApplicationContext(), "en");
}
}
protected void setLocale(final Context ctx, final String lang)
{
Log.d("ERRRRR", lang);
/* final Locale loc = new Locale(lang);
Locale.setDefault(loc);
final Configuration cfg = new Configuration();
cfg.setLocale(loc);
ctx.getResources().updateConfiguration(cfg, null);*/
Resources res = ctx.getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale(lang.toLowerCase());
res.updateConfiguration(conf, dm);
}
@Override
public void onConfigurationChanged(Configuration newConfig) {
Log.d("ERRRRR", "onConfigurationChanged");
super.onConfigurationChanged(newConfig);
}
моя проблема не в SharedPreferences, это работает для меня, но после получения правильного Ланг, раскладка по-прежнему работает в другом Lang после того, как мое приложение разбилось –
после того, как приложение получило сбой ... общие настройки теряют его значение, поэтому ваш 'appSharedPrefs.getBoolean' дает вам неправильное значение – rafsanahmad007
см. это: http://stackoverflow.com/questions/15353900/shared -preferences-reset-data-when-app-is-force-closed-or-device-is-restarted – rafsanahmad007