我在哪里? - 获得国家

我在哪里? - 获得国家

Android移动设备实际上确实知道它在哪里 - 但有没有办法通过类似国家代码的方式检索国家?

无需了解确切的GPS位置 - 这个国家就足够了

我首先考虑使用时区,但实际上我需要更多的信息,因为如果位置是纽约或利马它会有所不同。

问题的背景:我有一个使用温度值的应用程序,我想将默认单位设置为Celsius或Fahrenheit,具体取决于位置是美国还是外部


元芳怎么了
浏览 461回答 3
3回答

心有法竹

这将获得为手机设置的国家/地区代码(手机语言,非用户位置): String locale = context.getResources().getConfiguration().locale.getCountry();也可以用getISO3Country()替换getCountry()以获得该国家的3字母ISO代码。这将获得国家名称: String locale = context.getResources().getConfiguration().locale.getDisplayCountry();这似乎比其他方法更容易,并依赖于手机上的本地化设置,所以如果美国用户在国外,他们可能仍然需要华氏温度,这将工作:)编者注:此解决方案与手机的位置无关。这是不变的。当您前往德国时,地区不会改变。简而言之:locale!= location。

ABOUTYOU

实际上我只是发现使用getSimCountryIso()方法获得国家代码还有一种方法TelephoneManager:TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);String countryCode = tm.getSimCountryIso();因为它是sim代码,所以在去其他国家旅行时也不应该改变。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Android