为了账号安全,请及时绑定邮箱和手机立即绑定

我在哪里? - 获得国家

我在哪里? - 获得国家

元芳怎么了 2019-07-29 16:21:51
我在哪里? - 获得国家Android移动设备实际上确实知道它在哪里 - 但有没有办法通过类似国家代码的方式检索国家?无需了解确切的GPS位置 - 这个国家就足够了我首先考虑使用时区,但实际上我需要更多的信息,因为如果位置是纽约或利马它会有所不同。问题的背景:我有一个使用温度值的应用程序,我想将默认单位设置为Celsius或Fahrenheit,具体取决于位置是美国还是外部
查看完整描述

3 回答

?
心有法竹

TA贡献1866条经验 获得超5个赞

这将获得为手机设置的国家/地区代码(手机语言,非用户位置):

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

也可以用getISO3Country()替换getCountry()以获得该国家的3字母ISO代码。这将获得国家名称

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

这似乎比其他方法更容易,并依赖于手机上的本地化设置,所以如果美国用户在国外,他们可能仍然需要华氏温度,这将工作:)

编者注:此解决方案与手机的位置无关。这是不变的。当您前往德国时,地区不会改变。简而言之:locale!= location。


查看完整回答
反对 回复 2019-07-29
?
ABOUTYOU

TA贡献1812条经验 获得超5个赞

实际上我只是发现使用getSimCountryIso()方法获得国家代码还有一种方法TelephoneManager

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

因为它是sim代码,所以在去其他国家旅行时也不应该改变。


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 460 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号