O padrão Locale
é construído estaticamente em tempo de execução para o processo do aplicativo a partir das configurações de propriedade do sistema, portanto, ele representará o Locale
selecionado nesse dispositivo quando o aplicativo foi iniciado . Normalmente, isso é bom, mas significa que, se o usuário alterar suas Locale
configurações após a execução do processo do aplicativo, o valor de getDefaultLocale()
provavelmente não será atualizado imediatamente.
Se você precisar interceptar eventos como esse por algum motivo em seu aplicativo, tente obter o Locale
disponível no Configuration
objeto de recurso , por exemplo
Locale current = getResources().getConfiguration().locale;
Você pode achar que esse valor é atualizado mais rapidamente após uma alteração nas configurações, se necessário para o seu aplicativo.
default()
é uma aposta bastante segura, mas não a utilize para processamento (como dizem os documentos).