[英]How to determine an Android device's current country location regardless of user location settings?
即使用户的设备已关闭GPS并且不允许应用访问其位置,我也需要确定设备所在的国家/地区(iso3)。
我还需要考虑没有SIM卡的平板电脑,因此不能使用telephonyManager。
出于这个原因,我不相信我可以使用位置管理器(也是因为这些原因: LocationManager requestLocationUpdates不起作用 )
我认为我需要的方法是向第三方ip位置api发出简单的HTTP请求:例如http://www.ipinfodb.com/ip_location_api.php或https://freegeoip.net
这是最好的方法吗? 什么是最好的开放api使用?
您可以使用TelephonyManager
TelephonyManager tm = (TelephonyManager)this.getSystemService(this.TELEPHONY_SERVICE);
String countryCode = tm.getNetworkCountryIso();
更新:由于您无法使用电话,我建议尝试这样做,因为它是用户在设置设备时输入的。
String locale = context.getResources().getConfiguration().locale.getCountry();
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.