我想获取国家/地区名称和国家/地区代码。为此,我使用了以下代码:
Country_Language = getApplicationContext().getResources().getConfiguration().locale.getDisplayLanguage();
Country_code= getApplicationContext().getResources().getConfiguration().locale.getCountry(); // get country code
但我总是以“美国”和“美国”作为国家代码和国家名称,而我的国家不是美国。
感谢任何帮助。
答案 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设备上运行此代码,之后此代码将显示当前的国家/地区名称和设备代码。