号码匹配位数

1.alps\external\sqlite\android\OldPhoneNumberUtils.cpp下的MIN_MATCH这个变量的值是多少,如果是11的话,就是11位匹配,如果是7则是7位匹配

2. 如果没有源代码的话,再确认下FeatureOption.MTK_CTA_SUPPORT这个开关是否为true,内部代码如果这个开关为true会采用11位匹配,如果是false则采用7位匹配

[Description]

根据Sim卡的mccmnc实现号码匹配适应不同的长度,

[Solution]

1 修改external\sqlite\android\oldPhoneNumberutils.cpp,

添加代码:

static int getMatchCountByMccMnc()

{

int mactchCount = 7;

char *pMccMnc =(char *)malloc(40);

memset(pMccMnc, 0, sizeof(char) * 40);

property_get("gsm.sim.operator.numeric", pMccMnc,"0");

/*...*/

free(pMccMnc);

return mactchCount;

}

#else

static int MIN_MATCH=7改为

MIN_MATCH=getMatchCountByMccMnc();

2 修改alps\frameworks\base\telephony\java\android\telephony\PhoneNumberUtils.java

添加代码:

public static int getMatchCountByMccMnc()

{

int mactchCount = 7;

String strMccMnc;

strMccMnc = SystemProperties.get("gsm.sim.operator.numeric");

/*Cal the mactchCount by MccMnc*/

...

return mactchCount;

}

修改static final int MIN_MATCH=7如下:

int MIN_MATCH=getMatchCountByMccMnc();

找到更好的文档了 。。

修改alps\frameworks\base\telephony\java\android\telephony\PhoneNumberUtils.java

修改external\sqlite\android\oldPhoneNumberutils.cpp,

路径应该是这个 到里面 去修改一下数字 就好了

时间: 2024-10-17 05:37:07

号码匹配位数的相关文章

android 添加MCCMNC自动号码匹配后拨号匹配不到联系人

由于不同的sim卡对应不同的mccmnc, 导致min_match的值发生变化, 新的min_match值与之前phone_lookup表中保存的min_match不一直,导致无法匹配上. 修改如下: 1. 添加URI 修改ContactsProvider2.java, private static final int PHONE_LOOKUP = 4000; 下面加入一行: private static final int PHONE_LOOKUP2 = 4001;  // New Add m

Android 手机的版本号 和 API 号码 匹配表?

版本号和 API  在我们写 AndroidMainfest.xml 的时候有点 搞不清楚. 整理一下, 以供参考 平时开发的话: 一般兼容到 10  也就是 Android 2.3.3. 这里 开发的时候一定要注意,因为Android  的兼容性是最头疼的问题!

android 先10位匹配,若是无法匹配,则换成7位匹配

若是一些海外需求,对于号码匹配位数,需要先10位匹配,若是无法匹配,则换成7位匹配 具体情况举例: Case 1: 如果您保存的有:A:04165191666, B:5191666,  来电号码是:04165191666 因为是7位匹配,所以A和B都可以匹配到,但是最佳匹配还是A,最后显示A: 来电5191666则匹配到B. Case 2: 仅保存 A:04165191666, 来电5191666或者04165191666则都匹配A. Case 3: 仅保存 B:5191666, 来电51916

Android6.0来电号码电话薄名称匹配

本文将介绍系统接收到来电之后,如何在电话薄中进行匹配联系人的流程.分析将从另外一篇文章(基于Android6.0的RIL框架层模块分析)中提到的与本文内容相关的代码开始. //packages/service/***/Call.java public void handleCreateConnectionSuccess( CallIdMapper idMapper, ParcelableConnection connection) { setHandle(connection.getHandle

IP地址匹配

问题描述: 在路由器中,一般来说转发模块采用最大前缀匹配原则进行目的端口查找,具体如下: IP地址和子网地址匹配: IP地址和子网地址所带掩码做AND运算后,得到的值与子网地址相同,则该IP地址与该子网匹配. 比如: IP地址:192.168.1.100 子网:192.168.1.0/255.255.255.0,其中192.168.1.0是子网地址,255.255.255.0是子网掩码. 192.168.1.100&255.255.255.0 = 192.168.1.0,则该IP和子网192.1

身份证号码工具类

转载自:http://www.3fwork.com/b200/002695MYM017139/ 身份证工具类,可以解析出身份证号是否通过校验.性别.年龄和出生所在地 一.居民身份证的简介      居民身份证号码,由十七位数字本体码和一位数字校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码.居民身份证是国家法定的证明公民个人身份的有效证件.二.居民身份证的组成和结构      1.号码的结构      公民身份号码是特征组合码,由十七位数字本

android 电话薄先10位匹配,若是无法匹配,则换成7位匹配

案例 1: 如果您保存的有:A:04165191666, B:5191666,  来电号码是:04165191666 因为是7位匹配,所以A和B都可以匹配到,但是最佳匹配还是A,最后显示A: 来电5191666则匹配到B. 案例 2: 仅保存 A:04165191666, 来电5191666或者04165191666则都匹配A. 案例 3: 仅保存 B:5191666, 来电5191666或者04165191666则都匹配B. 可以在7匹配的基础上,将符合条件的号码匹配做进一步筛选即可. 首先,

Java验证身份证号码及提取生日信息

Java学习第一站,导师给布置的作业题,验证身份证号码的合法性并提取生日信息.第一次写Java代码,第一次用博客记录学习进程,略紧张,对Java变量的命名还停留在C++的命名法阶段,吼吼~~现在开始正题.问题说明:目前,我国大部分地区都使用的是第二代身份证,第二代身份证号码的位数为18位.但公安部没有下发统一的关于停用第一代身份证的文件,第一代身份证中有15位和18位身份证号的混用.15位身份证号码:排列顺序从左至右依次为:6位数字地址码,6位数字出生日期码,3位数字顺序码,其中出生日期码不包含

中国大陆新身份证号码算法

1.号码的结构 公民身份号码是特征组合码,由十七位数字本体码和一位校验码组成.排列顺序从左至右依次为:六位数字地址码,八位数字出生日期码,三位数字顺序码和一位数字校验码. 2.地址码 表示编码对象常住户口所在县(市.旗.区)的行政区划代码,按GB/T2260的规定执行.(所有区域的编码可以到这个网站http://www.stats.gov.cn/tjbz/index.htm查询到最新的县及县以上的行政编码资料.) 3.出生日期码 表示编码对象出生的年.月.日,按GB/T7408的规定执行,年.月