Конфигурация локали моего приложения изменяется из-за переключения другого приложения - PullRequest
0 голосов
/ 18 июня 2019

Мое приложение поддерживает 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());
    }

Заранее спасибо

...