Android获取国家名称及其代码

时间:2013-11-11 06:41:58

标签: android country country-codes

我想获取国家/地区名称和国家/地区代码。为此,我使用了以下代码:

Country_Language = getApplicationContext().getResources().getConfiguration().locale.getDisplayLanguage();
Country_code= getApplicationContext().getResources().getConfiguration().locale.getCountry(); // get country code

但我总是以“美国”和“美国”作为国家代码和国家名称,而我的国家不是美国。

感谢任何帮助。

3 个答案:

答案 0 :(得分:1)

试试这个:

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String countryCode = tm.getSimCountryIso();

答案 1 :(得分:0)

//try this
**HardCode Local Configure**
Locale locale = new Locale("en","South Africa");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
                getBaseContext().getResources().getDisplayMetrics());


String country_Language = getApplicationContext().getResources().getConfiguration().locale.getDisplayLanguage();
String Country_code= getApplicationContext().getResources().getConfiguration().locale.getCountry();

System.out.println("County Language :"+country_Language);
System.out.println("County Code :"+Country_code);

答案 2 :(得分:0)

  

但我总是以“美国”和“美国”作为国家代码和国家名称,而我的国家不是美国。

     

感谢任何帮助。

这是因为您在没有SIM设备的情况下运行此代码。要解决此问题,您应该在SIM设备上运行此代码,之后此代码将显示当前的国家/地区名称和设备代码。