Android开发便签7:如何让通讯录匹配N位号码
16lz
2022-06-24
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的版本以后再验证
这个并不是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的版本以后再验证
更多相关文章
- 总结安卓各大版本(4.0-9.0)的区别、新特性
- android 变色状态栏
- android 兼容各个版本 读取通讯录
- Android(安卓)Skia编程系列(一):Hello Skia
- 修改Android开机画面
- Android上替代SQLite的选择:Realm
- 拖动ListView时背景出现黑色的解决办法!
- android 关于appcompat v7出错问题与解决
- 如何在 Windows 平台上下載 Android(安卓)的原始碼?