安卓 :从联系人中删除国家代码



如何有效地删除或检测联系电话的国家代码?

+213231756 将被231756 (+231 是阿尔及利亚的国家代码)

+880171876809 将是0171876809(+88 是 BD 的国家代码)

例如:我创建一个字符串.xml像这样的文件

<string-array name="CountryCodes" >
<item>93,AF</item> 
<item>355,AL</item>
<item>213,DZ</item>

并且有近 190+ 国家代码 在 xml .并使用字符串数组检查每个联系电话并不省时。

是否有任何有效的解决方案来检测电话号码列表的国家/地区代码。

您可以使用"libphonenumber.jar"来执行此操作。 http://repo1.maven.org/maven2/com/googlecode/libphonenumber/libphonenumber/7.3.1/

PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
try {
    // phone must begin with '+'
    PhoneNumber numberProto = phoneUtil.parse(phone, "");
    int countryCode = numberProto.getCountryCode();
} catch (NumberParseException e) {
    System.err.println("NumberParseException was thrown: " + e.toString());
}

最新更新