android中默认采用ISO3166-1 alpha-2作为它的国家码标准,ISO3166-1是指ISO组织制定的第3166号标准的第一部分(第二部分是省级行政区编码,但android系统并没采用),alpha-2是指二个字母的标准,也就是说android的国家码都是两个字母的。
android中有两种获取国家码的方式,返回的都是大写:
第一种从sim卡获取国家码
TelephonyManager telephonyManager = (TelephonyManager) getContext().getSystemService(Context.TELEPHONY_SERVICE);
String countryCode = telephonyManager.getSimCountryIso();
第二种从系统设置获取国家码,随系统设置变化:
String countryCode = getContext().getResources().getConfiguration().locale.getCountry();
二位国家码全部列表如下: