El valor predeterminado Locale
se construye estáticamente en tiempo de ejecución para el proceso de su aplicación a partir de la configuración de propiedades del sistema, por lo que representará lo Locale
seleccionado en ese dispositivo cuando se inició la aplicación . Por lo general, esto está bien, pero significa que si el usuario cambia su Locale
configuración después de que se esté ejecutando el proceso de su aplicación, el valor de getDefaultLocale()
probablemente no se actualizará de inmediato.
Si necesita atrapar eventos como este por alguna razón en su aplicación, puede intentar obtener los Locale
disponibles del Configuration
objeto de recurso , es decir
Locale current = getResources().getConfiguration().locale;
Es posible que este valor se actualice más rápidamente después de un cambio de configuración si es necesario para su aplicación.
default()
es una apuesta bastante segura, simplemente no la use para procesar (como dicen los documentos).