如何在 Android 上获取用户的国家/地区代码?
如何在 Android 上检索用户的国家/地区代码?我需要权限吗?
How can I retrieve a user's country code on Android? Do I need permissions?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
要获取手机 SIM 卡中存储的国家/地区代码,您可以尝试
您也可以尝试:
这将返回用户指定的语言/国家/地区的数据,而不是物理位置。
To get the country code stored in the sim card of the phone you can try
You can try also:
This returns the data from the language/Country stated from the user and not the physical location.
当前位置的纬度和经度
将为您提供纬度和经度。
我建议使用谷歌地图的反向地理编码来获取国家/地区,然后如果您想获取一些国家/地区代码(我假设该国家/地区的电话代码,但我可能是错的),则使用查找表。
Latitude and Longitude of the current location
Will get you the latitude and longitude.
I'd suggest using Google Map's reverse geocoding for getting the country, and then using a lookup table if you want to get some country code (I'd assume the country's telephone code, but I could be wrong).
最佳实践来自:本地化文档
建议使用此处设置的区域设置:
此外,此处还提到了此字段。然后,您可以对其调用 getCountry() 来获取 ISO 3166-1 定义的两个字母的大写 ISO 国家/地区代码。 注意 java 文档说,如果区域设置与特定国家/地区不对应,它可能会返回空字符串。
Best practice from the: Localization documentation
recommends using the Locale set here:
Furthermore, this field is also mentioned here. You can then call getCountry() on it to obtain the two-letter uppercase ISO country code as defined by ISO 3166-1. Note that java doc says it may return an empty String if the Locale doesn't correspond to specific country.
您可以尝试以下功能。它会返回您所在国家/地区的 ISO 代码:
将以下权限添加到您的
AndroidManifest.xml
文件中。You can try the following function. It's returning your country ISO code:
Add permission below into your
AndroidManifest.xml
file.