Android的系统自带的是默认匹配7位的号码,即如果你有一个号码为9876543210的联系人为“Android1”,同时你还有一个号码为6543210的联系人为"Android2",一般情况下你拨打Android2的号码时界面显示Android1,这是为什么呢?
这个并不是Android的bug,而是Android设置了默认匹配后面7位,如果后面7位相同,则会显示先添加的那个联系人。
如果我们想做8,9或者10位等等,该怎么做呢?
这个属于android系统的代码,需要修改android系统的源代码,这个文件对应的目录在android的源码目录下的android\external\sqlite\android的OldPhoneNumberUtils.cpp文件,但是这个只能用于2.1版本及以前的版本,2.2的版本就需要我们修改相同目录想的PhoneNumberUtils.cpp文件,修改的常量名称为MIN_MATCH,将这个常量修改为你想要的位数即可,目前我只试验了2.1的版本,2.2的版本以后再验证