Android Nougat 7.1 restablece Locale después de iniciar WebView
Tenemos un comportamiento extraño con Android N 7.1 (API-25) Que después de iniciar WebView, el sistema impone el restablecimiento de la configuración regional a la configuración regional del dispositivo. Eso anula la configuración regional utilizada (para la localización) en la aplicación. Una manera fácil de reproducir eso es obtener una localización en la aplicación. e inicie un WebView. Entonces no verá más el contenido localizado hasta que vuelva a reiniciar la aplicación. Eso sucede solo en Android-7.1 (API-25)
Así es como cambio la configuración regional que funciona en todas las 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());
}
He subido una muestra para reproducir ese problema con más detalles sobre:
https://github.com/mabuthraa/WebView-android7-issue
Por favor, tenga alguna idea si este comportamiento es un error o probablemente una mala implantación del cambio de configuración regional.
Aquí está el enlace para emitir un ticket en el grupo de Android:Problema 218310: [vista previa del desarrollador] La creación de un WebView restablece la configuración regional a los valores predeterminados del usuario