Android移动实际上并一清二楚,它在哪里 - 但有通过类似的国家代码检索国家的一种方式?
无需了解确切的GPS位置 - 这个国家就足够了
我首先考虑使用时区,但实际上我需要更多的信息,因为如果位置是纽约或利马它会有所不同.
问题的背景:我有一个使用温度值的应用程序,我想将默认单位设置为Celsius或Fahrenheit,具体取决于位置是美国还是外部
Android移动设备实际上确实知道它在哪里 - 但有没有办法通过国家代码或国家/地区名称来检索国家/地区?
无需知道确切的GPS位置 - 国家代码或名称就足够了,我正在使用以下代码:
String locale = context.getResources().getConfiguration().locale.getCountry(Locale.getDefault());
System.out.println("country = "+locale);
Run Code Online (Sandbox Code Playgroud)
但它给了我"美国"代码,
但我的设备保存在印度; 有没有办法找到设备当前国家代码而不使用GPS或网络提供商.因为我正在使用平板电脑 提前致谢.
有没有可能在不使用webservices的情况下确定point(lat/lon)的时区?Geonames.org对我来说不够稳定:(我需要这个在PHP中工作.
谢谢
如何获得时区缩写,如IST(印度标准时间),ET(东部时间)等.
我使用下面的代码来获取android中的时区信息,
选项1:
String mobileTimeZone = Calendar.getInstance().getTimeZone()
.getDisplayName(false, TimeZone.SHORT);
Run Code Online (Sandbox Code Playgroud)
我选择了不同的时区和输出如下,
GMT + 13:00
GMT + 00:00
但是当设置某些时区时,它会给我正确的缩写代码作为输出,如下所示,
美东时间
我还尝试了下面的代码,它给出了时区的完整描述.
选项2:
String mobileTimeZone = Calendar.getInstance().getTimeZone().getID();
Run Code Online (Sandbox Code Playgroud)
获得以下输出,这只是区域名称:
太平洋/中途岛
太平洋/火奴鲁鲁
美洲/蒙得维的亚
是否有任何id或表的列表,包含所有时区供我映射.
而且还需要考虑白天节省的费用.
帮我从android手机上获取Time Zone的缩写.
android ×3
timezone ×3
geolocation ×2
abbreviation ×1
api ×1
geocoding ×1
gis ×1
javascript ×1
locale ×1
php ×1
web-services ×1