]联系人号码后面7位相同,如保存A:15801234567,拨打15901234567匹配不到A的这类问题的处理方法

来源:互联网 发布:nginx 图片加载不出来 编辑:程序博客网 时间:2024/06/02 19:58
[DESCRIPTION]
 MTK6589 
1. 联系人号码后面7位相同,如保存A:15801234567,拨打15901234567匹配不到A;
2. 保存的联系人号码中含+86,拨打IP电话,在接听电话界面不能显示该联系人的姓名,但如果联系人号码中含86不含+时,拨打IP电话,是可以显示该联系人姓名的!
 
[SOLUTION]
 

以上两个问题是同一类问题。

FAQ08854有对此问题进行详细解释,[FAQ08854] 后七位号码相同拨打时却不能识别出联系人的问题

 

产生该问题的原因是因為android 4.2.2 對phone_lookup 的過濾條件更嚴格,如需要匹配此種情況,可放寬回原來的query規則。

 

具体修改方法】  

文件:ContactsDatabaseHelper.java

路径:alps/packages/providers/ContactsProvider/src/com/android/providers/Contacts/

将 buildFallbackPhoneLookupAndContactQuery() 替换为如下:

-----------------------------------------------------------------------------------
      // start

      public void buildFallbackPhoneLookupAndContactQuery(SQLiteQueryBuilder qb, String number) {
          String minMatch = PhoneNumberUtils.toCallerIDMinMatch(number);
          StringBuilder sb = new StringBuilder();
          appendPhoneLookupTables(sb, minMatch, true);

          /**M: append this table for some query */
          appendPresenceAndStautsTable(sb);
          qb.setTables(sb.toString());
          sb = new StringBuilder();
          appendPhoneLookupSelection(sb, nullnull);
          qb.appendWhere(sb.toString());
      }
      // End

0 0
原创粉丝点击