После установки моей программы Android я проверяю локализацию устройства:
String deviceLocale=Locale.getDefault().getLanguage();
Если deviceLocale находится внутри моих поддерживаемых языков (английский, французский, немецкий), я не меняю языковой стандарт.
Но скажем, например, если я не поддерживаю язык устройства: например, испанский. Я устанавливаю текущую локаль на английский язык, потому что большинство людей могут понять английский частично.
Locale locale = new Locale("en");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
pContext.getResources().updateConfiguration(config, null);
Но после этого в других методах, когда я проверяю локализацию устройства следующим образом:
String deviceLocale=Locale.getDefault().getLanguage();
Я получаю результат как "английский". Но язык устройства - испанский.
Получает ли getLanguage() текущую локализацию приложения?
Как я могу получить локали устройства?
Изменить: в первом запуске приложения это вариант сохранения языкового стандарта устройства. Но если пользователь меняет локаль устройства после сохранения, я не могу знать новый язык устройства. Я могу узнать только локаль, которую я сохранил в приложении.