如何从android电话簿中获取国家代码
我正在开发android应用程序,我想从我的电话簿中检测国家代码,默认情况下,国家代码不会添加。例如:如何从android电话簿中获取国家代码,android,android-contacts,country-codes,phonebook,Android,Android Contacts,Country Codes,Phonebook,我正在开发android应用程序,我想从我的电话簿中检测国家代码,默认情况下,国家代码不会添加。例如: +971529090909, 00971529730000, 0529090909 在“+”和“00”状态下,我有国家代码,但在“0”状态下,我的国家代码不可用。我想检测所有联系人的国家代码,即使有人没有输入国家代码 如何使用任何库或任何代码片段检测国家/地区代码。您可以使用库(由谷歌维护)以任何格式解析任何数字,只需在解析时指定默认区域设置,这样就可以知道默认的国家/地区代码 你可以玩它的
+971529090909,
00971529730000,
0529090909
在“+”
和“00”
状态下,我有国家代码,但在“0”
状态下,我的国家代码不可用。我想检测所有联系人的国家代码,即使有人没有输入国家代码
如何使用任何库或任何代码片段检测国家/地区代码。您可以使用库(由谷歌维护)以任何格式解析任何数字,只需在解析时指定默认区域设置,这样就可以知道默认的国家/地区代码 你可以玩它的在线版本
谢谢你的回答。我想问你,我不知道默认的语言环境。如果我有1000个联系人列表,有些有国家代码,有些没有。我想知道所有1000个联系人的国家代码。在线版本示例是询问country=field。我在回答中发布的代码显示了如何从sim卡获取默认的
地区
或默认的国家
,您将在Android代码中使用该值您如何访问其他人的sim卡?这样做的目的是从手机中提取联系人,如果他们将联系人号码保存为083-123-1234,那又怎么样?你怎么知道他们在哪个国家?这个想法是,如果一个号码保存在联系人数据库中,没有国家代码,通常可以安全地假设手机的国家与用户的国家相同,否则该号码将无法拨打。当然,也有一些边缘情况,比如用户当前正在旅行,但可能性较小
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);
}