Локаль возвращает локаль без кода страны - PullRequest
0 голосов
/ 05 сентября 2018

Мне нужно получить код страны из локали по умолчанию.

ConfigurationCompat.getLocales(context.resources.configuration).get(0)

Возвращает локаль с языком, но страна является пустой строкой.

В чем причина? Как я могу получить код страны?

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

Примечание: - На уровне API 24

устарело
String locale = context.getResources().getConfiguration().locale.getCountry();

ИЛИ

// Это вернет код страны от использования его сети оператора

TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String countryCodeValue = tm.getNetworkCountryIso();
0 голосов
/ 05 сентября 2018

Используйте это, чтобы получить код страны:

    String locale;
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
        locale = context.getResources().getConfiguration().getLocales().get(0).getCountry();
    } else {
        locale = context.getResources().getConfiguration().locale.getCountry();
    }
0 голосов
/ 05 сентября 2018

Используйте это, чтобы получить страну

String locale;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
    locale = context.getResources().getConfiguration().getLocales().get(0).getCountry();
} else {
    locale = context.getResources().getConfiguration().locale.getCountry();
}
...