Android2.1上默认的号码匹配位数是7位,也就是说从右向左算起,如果两个号码有7位是匹配的,那么就认为是相同的号码,如+86 1234567和01234567是相同的号码;所以判断两个号码是否匹配,简单的用”==”是不行的。
安卓在Sqlite层新增了函数phone_numbers_equal用于号码匹配的判断,这个函数是数据库级的,对应的SQL语句是PHONE_NUMBERS_EQUAL,android将该函数以2个参数和3个参数的形式注册到sqlite数据库里,2个参数的情况无非就是号码A和号码B,3个参数则多了一个bool变量,用来指示是否使用严格匹配,这个严格匹配是专门给泰国用的,看来泰国的号码规则比较特别,而在我们国家,这个变量一般情况下都是0了。
进入正题,修改android的号码匹配位数,其实很简单,修改OldPhoneNumberUtils.cpp文件中的最小匹配位数为想要的数字即可,该数字在函数phone_number_compare_loose函数中使用,这个函数其实就是号码匹配的真正函数,文件位置:external\sqlite\android
static int MIN_MATCH = 7; //修改成你想要的数字
在framwork层还有个一样的java函数实现,compareLoosely(A,B),framewoeks\base\telephony\java\android\telephony\PhoneNumberUtils.java,其中使用到的MIN_MATCH同样需要修改。
【注】:2.1上 phone_number_compare_loose 和 compareLoosely函数的实现里面少了几句代码,算是BUG吧,会影响英文状态下6位长度的号码的匹配;
转载自http://www.cnblogs.com/flyme/archive/2011/07/07/2100017.html
相关推荐
在Android编程中,号码匹配位数修改是一个重要的技术点,尤其涉及到通信软件和社交应用中,需要精确地识别和比对电话号码。Android系统默认的号码匹配位数是7位,这意味着如果两个电话号码从右边开始有7位是相同的,...
isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 isEmail : 验证邮箱 isURL : 验证URL isZh : 验证汉字 isUsername : 验证用户名 isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isIP : ...
一个语音识别模糊匹配的demo,主要工作流程如下: 1,将目标字符集转换为拼音; 2,获取科大讯飞语音识别的结果; 3,将识别结果转换为拼音; 4,在目标拼音集中进行拼音的匹配查找; 5,对于查找不到的,进行易混...
在Android开发中,处理文本内容时,我们可能会遇到需要匹配和显示Emoji表情或者QQ表情的情况。这些表情通常用于增强文本的表达力,使用户界面更加生动有趣。本篇文章将深入探讨如何在Android应用中实现对Text中的...
本文将深入探讨"Android蓝牙匹配与连接"的相关知识点,包括蓝牙的基础概念、蓝牙匹配过程、连接步骤以及实现通信的方法。 首先,蓝牙是一种低功耗的无线通信标准,允许设备在短距离内(通常10米左右)互传数据。在...
本篇文章将详细讲解如何在Android环境中进行文本文件操作,包括正则表达式匹配文本、读取和写入文本文件以及提取文件中的中间文本。 首先,让我们了解正则表达式(Regular Expression)在处理文本时的作用。正则...
本文将深入探讨如何获取Android应用的32位签名,以及这个过程的重要性。 首先,我们需要理解Android应用签名的基本概念。在Android系统中,签名是一个数字证书,它包含了开发者的信息和用于验证APK的公钥。这个签名...
在Android平台上实现蓝牙自动匹配和连接是一项常见的任务,特别是在物联网(IoT)设备或智能硬件的交互中。本文将深入探讨如何在Android应用中设置蓝牙自动连接功能。 首先,我们需要理解Android蓝牙的基础知识。...
本文讨论的是在Android平台上实现身份证号码的实时识别技术,主要基于像素匹配的方法。该技术涉及到Android客户端应用开发,对于移动设备上的身份验证或信息录入具有重要意义。以下是系统的实现步骤和关键技术: 1....
"猿匹配"作为一个程序猿非严肃婚恋交友应用,其背后的技术实现是Android开发的典型应用案例。这个应用不仅涉及到基本的用户界面设计、数据存储与同步,还可能包括社交功能、地理位置服务以及个性化推荐算法等复杂...
### Android Eclipse 64位下载相关知识点 #### 一、Eclipse简介 Eclipse是一款开源免费的集成开发环境(IDE),支持多种编程语言,包括Java、C/C++、PHP等。在Android开发领域,Eclipse曾经是主流的开发工具之一,...
在Android开发中,有时我们需要实现一个功能,即查询手机用户输入的号码的归属地信息。这个功能在诸如电话簿管理、防骚扰应用等场景中非常常见。本项目提供了一个基于本地数据库的Android手机号码归属地查询Demo,让...
在Android开发中,搜索记录的保存和展示是用户体验的重要组成部分,特别是当用户需要频繁搜索时。本篇文章将详细探讨两种常见的实现方式:SharePreferences和SQLite数据库,并涉及自动匹配功能的实现。 首先,我们...
Android 搜索结果匹配关键字且高亮显示功能 Android 搜索结果匹配关键字且高亮显示功能是 Android 应用程序中的一个重要功能,它允许用户输入关键字,然后在搜索结果中高亮显示相关的关键字。这项功能可以提高用户...
在Android应用中,匹配通常是指在XML布局文件中定义的UI元素与其在Java代码中的对应对象之间的关联。例如,我们可能有一个Button在XML布局中,其id为`@+id/myButton`。在Activity或Fragment的Java代码中,我们会使用...
当搜索结果加载到ListView中时,我们需要遍历每个ListView项(ViewHolder),找到包含匹配搜索关键词的TextView,并修改它的样式。这可以通过设置自定义的SpannableString或者运用Spanned类来实现。比如,我们可以...
在Android客户端开发中,模糊查找是一项重要的功能,它允许用户输入部分关键词就能匹配到相关的数据,极大地提高了用户体验。本文将详细讲解如何在Android应用中实现模糊查找,包括基础原理、关键技术和最佳实践。 ...
Android Studio 4.1.1最新版64位安装包,如果官网被墙在这可以直接下载,方便快捷,下载打开就直接安装,安装过程可能会有点慢