我需要从国家代码中获取完整的国家/地区名称。 例如对于荷兰,我需要the Netherlands
从国家代码NL
。从国家/地区代码获取国家/地区名称
我想我可以做到这一点与Locale
像:
Locale loc = new Locale("NL");
loc.getCountry();
但loc.getCountry();
是空的。
有关如何做到这一点的任何想法,请? 在此先感谢!
我需要从国家代码中获取完整的国家/地区名称。 例如对于荷兰,我需要the Netherlands
从国家代码NL
。从国家/地区代码获取国家/地区名称
我想我可以做到这一点与Locale
像:
Locale loc = new Locale("NL");
loc.getCountry();
但loc.getCountry();
是空的。
有关如何做到这一点的任何想法,请? 在此先感谢!
尝试这样
Locale loc = new Locale("","NL");
loc.getDisplayCountry();
希望这将助阵。
Locale构造函数的上述单参数版本将第一个参数作为语言而不是国家代码。这在我的情况下不起作用。它应该是这样的,如果国家代码必须被使用。 Locale loc = new Locale(“”,“NL”); –
这对我有用,我只是浪费了很多时间去思考Local(OneParam)出了什么问题......我的错我没有检查文档......但是感谢分享 – anoop4real
预定义的语言环境这应该工作:
Locale l = new Locale("", "NL");
String country = l.getDisplayCountry();
区域设置的第一个参数是语言,在你的情况下这是没用的。
如果我这样做,它会检索'NL',所以它不是有效 – noloman
一个完整的解决方案TelephonyManager(从this solution):
TelephonyManager teleMgr = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String localeCountry = teleMgr.getNetworkCountryIso();
if (localeCountry != null) {
Locale loc = new Locale("",localeCountry);
Log.d(TAG, "User is from " + loc);
}
你可以从设备检查获得国家代码ISO本[getNetworkCountryIso()](http://developer.android.com/reference/android/电话/ TelephonyManager.html#getNetworkCountryIso()) – juned
我不确定,但你可以使用loc.getDisplayCountry() –
@ShreyaShah,它的工作原理就是这样! – noloman