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,
路径应该是这个 到里面 去修改一下数字 就好了