Android:删除国家/地区代码来自联系人

时间:2016-04-27 05:14:30

标签: android contacts telephony

我想知道如何删除或检测国家联系代码

  

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

     

+880171876809将是0171876009 [+88是BD的国家代码]

警告:联系人可以保存联系方式 231756 [无国家代码]这次联系电话号码保持不变

为了使自己清楚:我创建了一个像

这样的string.xml文件
<string-array name="CountryCodes" >
<item>93,AF</item> 
<item>355,AL</item>
<item>213,DZ</item>

近200个国家代码。 并检查每个与字符串项的联系,这非常耗时并使我的应用程序变慢。

  

是否有任何有效的解决方案可以从联系人列表中删除不同的国家/地区代码

1 个答案:

答案 0 :(得分:0)

您可以使用&#34; libphonenumber.jar&#34;为了这。 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());
}