Android Nougat 7.1 сбрасывает локаль после запуска WebView
Мы получили странное поведение с Android N 7.1 (API-25), что после запуска WebView система принудительно переводит локаль в локаль устройства. Это переопределяет используемый язык (для локализации) в приложении. Простой способ воспроизвести это - получить локализацию в приложении. и запустите WebView. Тогда вы больше не увидите локализованный контент, пока не запустите приложение снова. Это происходит только на Android-7.1 (API-25)
Вот как я переключаю Locale, который работает во всех API:
public void switchToCzLocale() {
Locale mLocale = new Locale("cs","CZ");// it can be any other Locale
Configuration config = getBaseContext().getResources()
.getConfiguration();
Locale.setDefault(mLocale);
config.setLocale(mLocale);
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
}
Я загрузил образец для воспроизведения этой проблемы с более подробной информацией о:
https://github.com/mabuthraa/WebView-android7-issue
Пожалуйста, дайте любую идею, если это поведение является ошибкой или, вероятно, неправильной имплантацией изменения локали.
Вот ссылка на выдачу билетов в группе Android:Проблема 218310: [предварительный просмотр разработчика] Создание веб-представления сбрасывает языковой стандарт по умолчанию для пользователя