Мое приложение поддерживает 2 языка - испанский и английский. Когда пользователь выбирает предпочитаемый язык в настройках, приложение переключается на предпочитаемый пользователем язык. Работает нормально, как и ожидалось.
Но недавно возникла проблема, при которой переключение между другим установленным приложением (в моем случае приложение VUFORIA SPARK) изменяло поведение моего приложения. Я чувствую, что моя локаль переопределяется этим приложением SPARK.
Когда мое приложение на испанском языке >> переключается на SPARk и возвращается к моему приложению, меняя язык на английский.
Программно я работаю с приложением, используя изменения конфигурации локали и язык настроек. Предполагая, что этот SPARK где-то устанавливает свое приложение на английский, это влияет на мое приложение. Может кто-нибудь помочь мне, как не переопределить конфигурацию моего приложения
public void setApplicationLanguage(Context context, String newLanguage) {
Resources activityRes = context.getResources();
Configuration activityConf = activityRes.getConfiguration();
Locale newLocale = new Locale(newLanguage,
Locale.getDefault().getCountry());
activityConf.setLocale(newLocale);
activityRes.updateConfiguration(activityConf,
activityRes.getDisplayMetrics());
Resources applicationRes =
context.getApplicationContext().getResources();
Configuration applicationConf = applicationRes.getConfiguration();
applicationConf.setLocale(newLocale);
applicationRes.updateConfiguration(applicationConf,
applicationRes.getDisplayMetrics());
}
Заранее спасибо