Vis*_*war 49 android location country-codes
获取国家/地区代码的最佳方式是什么?截至目前,我知道两种方法是通过TelephonyManager和另一种方法获取Locale,这是另一种在android中查找国家/地区代码的最佳和独特方式.
Sah*_* Mj 79
试试这个,
TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String countryCode = tm.getSimCountryIso();
Run Code Online (Sandbox Code Playgroud)
Jos*_*gia 33
关于这一点总是有很多讨论,我永远不会理解为什么开发人员和公司会采用复杂的方式.用户选择的语言表示他/她希望始终在他/她的电话中看到的语言.他们不打算使用与其他语言或系统不同的语言.
选择非常简单:使用Locale(获取用户选择的语言作为首选),或者尽量让他们小心翼翼地向他们展示他们已经说过他们不想看到的语言的信息.
要获取国家/地区代码,请执
Locale.getDefault().getCountry();
Run Code Online (Sandbox Code Playgroud)
Asa*_*ssi 13
TelephonyManager tm = (TelephonyManager)getSystemService(getApplicationContext().TELEPHONY_SERVICE);
String countryCode = tm.getNetworkCountryIso();
Run Code Online (Sandbox Code Playgroud)
它比好getSimCountryIso,因为getSimCountryIso依赖于运营商烧在SIM国家ISO和它也支持CDMA网络.
您可以使用此代码获取ISO2:
Locale.getDefault().getCountry()
这要获得ISO3:
Locale.getDefault().getISO3Country()
希望这可以帮助
我通过IP地址解决了它.您可以获取手机的IP地址.如果您正在使用wifi,那么它将是您的移动服务提供服务器的wifi热点或IP的IP地址,因此从该IP您可以发送到Web服务或跟踪该IP地址的国家/地区有一些来源(数据库)可用互联网这里提供IP国家的例子是http://whatismyipaddress.com/ip-lookup.
我认为ip是最好的方式,因为它会给你手机所在的国家,
如果你这样做的话
Locale.getDefault().getCountry();,
Run Code Online (Sandbox Code Playgroud)
你有一个国家,用户选择国家,所以你可以选择英格兰,你可以在西班牙,也许你需要知道他在哪里的妈妈
示例:假设您的应用程序只能在英国购买,用户来自西班牙,但他正在英国度假,他想购买您的产品...如果您使用
Locale.getDefault().getCountry();
Run Code Online (Sandbox Code Playgroud)
该用户将无法购买您的产品,所以ip是我认为最好的方式
| 归档时间: |
|
| 查看次数: |
69535 次 |
| 最近记录: |