如何根据用户在Android中输入的国家/地区访问或获取ISO3国家/地区代码

时间:2015-11-25 09:18:13

标签: java android locale country-codes mobile-country-code

我需要根据用户为我的Android应用程序输入的国家/地区访问ISO3国家/地区代码。是否有任何可能的方法直接访问它而不是将其存储在数组中。

1 个答案:

答案 0 :(得分:2)

您可以使用电话管理器或使用IP地址获取当前的ISO2国家/地区代码。然后使用区域设置获取ISO3国家/地区代码。

以下是样本:

  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());
    }