Локаль возвращает пустую строку в Android - PullRequest
2 голосов
/ 21 октября 2019

Я разрабатываю одно приложение для Android и мне нужно внести определенные изменения в зависимости от страны (региона) пользователя.

Я нашел официальную ссылку и попытался получить языкно он возвращает мне пустую строку.

Вот код, который я пробовал, но я получаю всю строку как пустую строку:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            String localeCountry = LocaleList.getDefault().get(0).getDisplayCountry();
            String localeISO3Country = LocaleList.getDefault().get(0).getISO3Country();
            String locale = getResources().getConfiguration().getLocales().get(0).getCountry();
            String locale1 = getResources().getConfiguration().getLocales().get(0).getDisplayCountry();
            String locale2 = getResources().getConfiguration().getLocales().get(0).getDisplayVariant();
        }else {
            Locale current = getResources().getConfiguration().locale;
            String currentCc = getResources().getConfiguration().locale.getCountry();
            String iso3Country = getResources().getConfiguration().locale.getISO3Country();
            String cCode = Locale.getDefault().getCountry(); 
        }

Я также попробовал метод toString(), ноон возвращает мне единственный язык, но согласно документации он должен был возвращать значения, включая язык и страну.

Вот мой код:

String toString = getResources().getConfiguration().getLocales().toString();
in Log it printed only language: 
[en] 

Я что-то упустил?

...