从国家代码获取国家名称

我需要从国家代码中得到完整的国家名称。 例如荷兰,我需要the Netherlands国家代码NL

我认为我可以用Locale做到这一点:

 Locale loc = new Locale("NL"); loc.getCountry(); 

但是loc.getCountry(); 是空的。

任何想法如何做到这一点,请? 提前致谢!

试试这个

 Locale loc = new Locale("","NL"); loc.getDisplayCountry(); 

希望这会有所帮助。

这应该工作:

 Locale l = new Locale("", "NL"); String country = l.getDisplayCountry(); 

Locale的第一个参数是语言,在你的情况下是没有用的。

尝试使用其他构造函数

 Locale loc = new Locale("NL", "The Netherlands"); 

区域设置The Netherlands似乎没有预定义的区域设置

为完整的解决schemeTelephonyManager(从这个解决scheme ):

 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); } 

正如@ShreyaShah指出的,解决scheme是使用loc.getDisplayCountry()