Я меняю локализацию приложения на основе выбора пользователя. Независимо от локали устройства.
используя
public void setDefaultLocale(Context context, String locale) {
Locale appLoc = new Locale(locale);
Locale.setDefault(appLoc);
Configuration appConfig = new Configuration();
appConfig.locale = appLoc;
context.getResources().updateConfiguration(appConfig,
context.getResources().getDisplayMetrics());
}
Но я также хочу знать, какой будет язык устройства.
Когда я пытаюсь получить это, я всегда получаю локаль, которую я установил для приложения.
ex: applictaion находится в ENGLISH, а устройство находится в CHINESE. Я всегда получаю английский.
для получения использования локали,
вариант 1.
String locale = context.getResources().getConfiguration().locale.getCountry();
вариант 2.
String local_country = ((Activity) context).getBaseContext().getResources().getConfiguration().locale.getCountry();
Любая помощь будет высоко оценена.