我正在开发Android应用程序,我想从我的电话簿中检测国家/地区代码,默认情况下未添加国家/地区代码。例如:
+971529090909,
00971529730000,
0529090909
在"+"
州和"00"
州,我有国家/地区代码,但在"0"
的情况下,我的国家/地区代码不可用。我想检测所有联系人的国家/地区代码,即使有人没有输入国家/地区代码。
如何使用任何库或任何代码片段检测国家代码/区号。
您可以使用libphonenumber库(由Google维护(解析任何格式的任何数字,只需在解析时指定默认区域设置,以便它知道默认为哪个国家/地区代码。
您可以在此处玩它的在线版本。
TelephonyManager telephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
String simCountryIso = telephony.getSimCountryIso();
if (simCountryIso != null)
return simCountryIso.toUpperCase(loc);
} else {
Locale loc = Locale.getDefault();
return telephony.getNetworkCountryIso().toUpperCase(loc);
}