Как получить или получить код страны 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());
}