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匹配的基础上,将符合条件的号码匹配做进一步筛选就可以。
首先,须要将MIN_MATCH改动为7位匹配,请改动下面两仅仅文件。保证return MIN_MATCH都是7
【Bfore KK1】
(1).改动OldPhoneNumberUtils.cpp (alps\external\sqlite\android),getMinMatch()返回值
2、PhoneNumberUtils.java (alps\frameworks\base\telephony\java\android\telephony)中的MIN_MATCH;
【After KK1】
(1).改动OldPhoneNumberUtils.cpp(alps\external\sqlite\android),getMinMatch()返回值
(2).改动PhoneNumberExt.java (mediatek\frameworks\base\op\java\com\mediatek\op\telephony)中的
getMinMatch() 返回值
另外。请改动DialerSearchUtils.java (alps\packages\providers\contactsprovider\src\com\android\providers\contacts)中的
public static Cursor findNumberExactMatchedCursor(Cursor cursor, String normalizedNumber)方法
这里说明一下:
这种方法是在号码匹配的基础上。再进一步过滤精确号码并返回
输入參数:
cursor是全部经过7位匹配后返回数据。兴许会从这里面再做精确匹配
normalizedNumber是call/mms所使用的号码
输出:
若是返回已经匹配上,则
MatrixCursor exactCursor = matrixCursorFromCursorRow(cursor, cursor.getPosition());
cursor.close();
return exactCursor;
若是没有匹配上。则
return null;
另外两个号码,说明一下:
normalizedNumber是call/mms所使用的号码
data1是数据库中找出来的完整号码
android 电话薄先10位匹配,若是无法匹配,则换成7位匹配的更多相关文章
- 24位PCM采样数据转成16位算法,已实现PCM转WAV在线工具源码支持24bits、16bits、8bits
目录 算法来源 js版24位PCM转8位.16位代码 js版8位.16位PCM转成24位 附:浏览器控制台下载数据文件代码 相关实现 最近收到几个24位的PCM录音源文件,Recoder库原有的PCM ...
- 使用JAVA编写电话薄程序,具备添加,查找,删除等功能
//该程序需要连接数据库.根据word文档要求所有功能均已实现.//大部分方法基本差不多,//在查询修改的时候能输出 最大ID号 和最小ID号,并且可以对输入的ID号进行判断是否存在(具体方法请查看 ...
- Android:日常学习笔记(10)———使用LitePal操作数据库
Android:日常学习笔记(10)———使用LitePal操作数据库 引入LitePal 什么是LitePal LitePal是一款开源的Android数据库框架,采用了对象关系映射(ORM)的模式 ...
- ABP CORE 框架入门视频教程《电话薄》基于 Asp.NET Core2.0 EF Core
ABP框架简介 ABP是"ASP.NET Boilerplate Project (ASP.NET样板项目)"的简称. ASP.NET Boilerplate是一个用最佳实践和流行 ...
- OpenCV3.4.1快速集成到Android studio中,10分钟搞定
OpenCV3.4.1快速集成到Android studio中,10分钟搞定 转载 https://blog.csdn.net/yu540135101/article/details/8259 ...
- Java电话薄项目(Java基础入门)
面向对象程序设计(Java基础) 1.项目介绍: 该项目能够实现对电话薄的添加,查找,修改,删除,排序等基本操作. 用户进入系统中首先进入主菜单中,在主菜单中可以选择相应的操作,用户可以选择每项操作前 ...
- 将真彩色转换成增强色的方法(即RGB32位或RGB24位颜色转换成RGB16位颜色的函数)
今天由于程序需要,需要将真彩色转换成增强色进行颜色匹配,上网搜了一下没搜到相应函数,于是研究了一下RGB16位的增强色,写了这个函数: public static int RGB16(int argb ...
- 32位Windows7上8G内存使用感受+xp 32位下使用8G内存 (转)
32位Windows7上8G内存使用感受+xp 32位下使用8G内存 博客分类: Windows XPWindowsIE企业应用软件测试 我推荐做开发的朋友:赶快加入8G的行列吧....呵呵..超爽 ...
- 把一串数字表示成千位分隔形式——JS正则表达式的应用
梳理思路 要先明白的是,我们将要转换成的数字格式是这样:从个位往左数起,每三位前插入一个千位分隔符,,即可以想象成我们要把每三位数字前面的那个空""匹配出来,并替换成千位分隔符,. ...
随机推荐
- 【mysql】索引与排序、重复索引、冗余索引
索引与排序 排序可能发生2种情况: 1: 对于覆盖索引,直接在索引上查询时,就是有顺序的, using index 2: 先取出数据,形成临时表做filesort(文件排序,但文件可能在磁盘上,也可能 ...
- selenium.common.exceptions.WebDriverException: Message: 'geckodriver' executable needs to be in PATH.
http://www.seleniumhq.org/download 1. selenium 3.x开始,webdriver/firefox/webdriver.py的__init__中,exec ...
- 输入子系统--event层分析【转】
转自:http://blog.csdn.net/beyondioi/article/details/9186723 ########################################## ...
- easyui 在子tabs中打开新tabs(关于easyUI在子页面增加显示tabs的一个问题)
现在说的是在子页面点个按钮也能触发增加子页面的情况. 情景是,在父页面上有个div如: <div class="easyui-tabs" id="main" ...
- 【 HAProxy 】学习笔记
一.haproxy的功能: HAProxy vs LVS HAProxy支持tcp和http两种代理模式,而lvs仅支持tcp代理模式 HAProxy相比LVS的使用要简单 ...
- svn突然不能用了!
case:周五下班将电脑关机,带回家本来打算周末加班的:但是后来周末有事,没有加班,周六和周末电脑根本没有开机.本周一过来开机,打开eclipse准备更新代码的时候,突然发现与资源库同步操作的时候报错 ...
- hdu 1513(滚动数组)
Palindrome Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total ...
- php判断检测一个数组里有没有重复的值
php判断检测一个数组里有没有重复的值 php里有一个处理数组重复值得函数array_unique,我们的思路就是用这个函数来实现的. if (count($array) != count(array ...
- HDU 2521 反素数(数论,比较)
#include<iostream> #include<cstring> #include<cmath> #include<cstdio> using ...
- MySQL数据库增删改字段(属性)
MySQL数据库的各种操作今天在这里总结一下: 一.增加 1.在已有的表中添加新的字段: 首先是增加表的字段,比如一张表原本没有字段“ Time ”,现在我们要增加这样一个字段,可以用下面的SQL语句 ...