Android locale getcountry bug

时间:2011-12-14 13:08:20

标签: android geolocation location

我希望得到我所在的国家。我试过

String locale = context.getResources().getConfiguration().locale.getCountry();

但我总是回到美国,虽然我位于欧洲。

我也试过

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

但没有运气。我总是回到美国。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:3)

第一个根据手机设置获取国家 (这可以由用户更改),而秒将获得SIM卡的国家(用户无法更改

因此,您可以选择最适合您的需求。

答案 1 :(得分:2)

区域设置会为您提供设备的当前区域设置,该区域设置必须是美国英语 - 它不会为您提供当前位置。

您可以尝试使用LocationManager获取当前位置以获取当前的lat长度,然后使用Google Maps API的反向地理编码服务实时获取当前国家/地区。