根据用户的当前位置Android获取国家/地区代码

时间:2014-08-11 10:53:27

标签: android geolocation geocoding country-codes mobile-country-code

我已经尝试了以下代码来获取国家/地区代码名称

TelephonyManager tm = (TelephonyManager)getActivity().getSystemService(getActivity().TELEPHONY_SERVICE);
        String countryCodeValue = tm.getNetworkCountryIso();

但是如果我想获得用户所在的当前国家/地区代码,我想这不起作用。

例如,如果用户从一个国家/地区旅行到另一个国家/地区,我想获取他所在的国家/地区代码。

我有一个获取用户当前国家/地区代码的解决方案,但我遇到了问题:

  1. 我获取用户当前位置。
  2. 使用其当前位置获取用户地址,我可以获取国家/地区名称。
  3. 但是有什么方法可以从android中的国家名称获取国家/地区代码吗?

    如果有更有效的方法,也请告诉我。

    谢谢:)

2 个答案:

答案 0 :(得分:0)

您可以getResources().getConfiguration().locale.toString().split("_")[1]获取ISO 3166-1 alpha-2(美国,GB等)。

答案 1 :(得分:0)

对于以后遇到此问题的任何人。使用SmartLocation

科特琳:

SmartLocation.with(this).location(LocationGooglePlayServicesProvider()).oneFix().start {
            SmartLocation.with(this).geocoding().reverse(it, OnReverseGeocodingListener { location, mutableList ->
                val countryCode = mutableList[0].countryCode
            })
        }