Как получить или получить код страны ISO3 в зависимости от страны, введенной пользователем в Android

Мне нужно получить доступ к коду страны ISO3 на основе страны, введенной пользователем для моего приложения для Android. Есть ли какой-нибудь возможный способ получить к нему доступ напрямую, а не хранить его в массиве.

1 ответ

Вы можете получить текущий код страны ISO2 с помощью менеджера телефонии или с помощью IP-адреса. Затем получите код страны ISO3, используя Locale.

Вот образец:

  TelephonyManager tm = (TelephonyManager)getSystemService(getApplicationContext().TELEPHONY_SERVICE);
  String countryCode = tm.getNetworkCountryIso();
  String currentISO3CountryCode = new Locale("", countryCode).getISO3Country();

Также вот пример, чтобы получить код ISO3 всей страны:

for (String country : Locale.getISOCountries()) {
        Locale locale = new Locale("", country);
        Log.v(TAG, "ISO3 country code: " + locale.getISO3Country().toUpperCase());
    }
Другие вопросы по тегам