studio - Cómo suprimir programáticamente la configuración regional específica en la aplicación de Android
cómo revertir siempre o solo esta vez (1)
Usa este código ...
private void callSwitchLang(String langCode) {
Locale locale = new Locale(langCode);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
onCreate(null);
}
En ese sentido, pasas el código de idioma seleccionado ...
Todos sabemos que la aplicación de Android es altamente personalizable con respecto al soporte de diferentes configuraciones regionales. En mi caso, mi aplicación actualmente admite 6 configuraciones regionales y todo funciona sin problemas. Cada vez que el usuario selecciona la configuración regional del teléfono, la aplicación cambia a otra configuración regional y todos los menús, los mensajes están en los idiomas locales.
Ahora la pregunta es en mi deseo de suprimir programáticamente la (s) configuración (es) local (es) específica (s) en la aplicación, ya que distribuiré aplicaciones en diferentes países utilizando diferentes canales, políticas de precios, etc. (no siempre a través de Android Market). Entonces, si la aplicación es para permitir, digamos China, el usuario no puede cambiar la configuración regional al inglés o al francés.
La forma más simple es simplemente eliminar otros recursos locales de la aplicación, lo entiendo. Pero desde el punto de vista de mantenimiento de la fuente no es muy cómodo, por lo que preferiría tener alguna forma programática para declinar / suprimir algunas configuraciones regionales en la aplicación.
¿Algunas ideas?