android - 如何在不使用 GPS 的情况下获取我的 Android 设备国家代码?

标签 android locale

Android 手机实际上确实很清楚它在哪里 - 但有没有办法通过国家代码或国家名称之类的东西来检索国家?

不需要知道确切的 GPS 位置 - 国家代码或名称就足够了,我正在使用这个代码:

 String locale = context.getResources().getConfiguration().locale.getCountry(Locale.getDefault());
 System.out.println("country = "+locale);

它给了我代码“美国”,但我的设备保存在印度。有没有办法在不使用 GPS 或网络提供商的情况下找到设备当前的国家/地区代码?

因为我使用的是平板电脑。

最佳答案

您可以简单地使用此代码,

TelephonyManager tm = (TelephonyManager)this.getSystemService(Context.TELEPHONY_SERVICE);
String countryCodeValue = tm.getNetworkCountryIso();

如果您当前连接的网络在美国,这将返回“US”。即使没有 SIM 卡也可以使用。

关于android - 如何在不使用 GPS 的情况下获取我的 Android 设备国家代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11293642/

相关文章:

android - 将 SQLite DB 保存到文件中?

android - 一段时间后调用Android中的函数

HTML 语言属性 : what is the role of the locale?

ruby-on-rails - Rails 语言环境文件无法加载

android - 如何更改场景中的可渲染颜色/纹理?

android - 如何在没有服务器的情况下通过套接字连接两个 Android 设备

android - 无法更改 Kotlin 中的语言环境

android - 在 Android 中,如何将区域设置设置为语言和区域的组合?

Android Java.Lang Locale Number Format I/O 不对称问题

android - 在 Android 中保存长文本的最佳实践