我正在构建一个需要用户所在国家/地区的应用程序。如果用户使用带有
telephonyManager.getNetworkCountryIso()
但是,如果他们不使用 sim,即 nexus 7,我怎么能做到这一点???
任何帮助将不胜感激
谢谢
我正在构建一个需要用户所在国家/地区的应用程序。如果用户使用带有
telephonyManager.getNetworkCountryIso()
但是,如果他们不使用 sim,即 nexus 7,我怎么能做到这一点???
任何帮助将不胜感激
谢谢
试试这个以检查用户是在平板电脑上还是在手机上:
TelephonyManager telephonyManager1 = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
if(telephonyManager1.getPhoneType() == TelephonyManager.PHONE_TYPE_NONE) {
// TABLET
}
else {
// YOUR PREVIOUS CODE
}
如果用户在平板电脑中,也许您可以尝试使用区域设置?我知道这不会给你位置,但也许你可以尝试根据用户拥有的语言环境来找出:
String locale = context.getResources().getConfiguration().locale.getCountry();
希望能帮助到你!
就个人而言,我会将逻辑扩展到如下内容:
这样,您将涵盖尽可能多的场景。
NB Locale 不会提供您当前所在的国家/地区,但取决于您在 Android 设备中选择的语言。即,如果您的手机是俄语的,您将永远得到俄罗斯。