`
feifei_lee
  • 浏览: 43971 次
  • 性别: Icon_minigender_2
  • 来自: 上海
最近访客 更多访客>>
社区版块
存档分类
最新评论

android号码匹配位的修改(转载)

 
阅读更多

    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编程中,号码匹配位数修改是一个重要的技术点,尤其涉及到通信软件和社交应用中,需要精确地识别和比对电话号码。Android系统默认的号码匹配位数是7位,这意味着如果两个电话号码从右边开始有7位是相同的,...

    Android常用字符串匹配正则

    isIDCard15 : 验证身份证号码15位 isIDCard18 : 验证身份证号码18位 isEmail : 验证邮箱 isURL : 验证URL isZh : 验证汉字 isUsername : 验证用户名 isDate : 验证yyyy-MM-dd格式的日期校验,已考虑平闰年 isIP : ...

    Android语音识别模糊匹配demo

    一个语音识别模糊匹配的demo,主要工作流程如下: 1,将目标字符集转换为拼音; 2,获取科大讯飞语音识别的结果; 3,将识别结果转换为拼音; 4,在目标拼音集中进行拼音的匹配查找; 5,对于查找不到的,进行易混...

    android bluetooth匹配与连接

    本文将深入探讨"Android蓝牙匹配与连接"的相关知识点,包括蓝牙的基础概念、蓝牙匹配过程、连接步骤以及实现通信的方法。 首先,蓝牙是一种低功耗的无线通信标准,允许设备在短距离内(通常10米左右)互传数据。在...

    OpenCV4Android学习之图像特征匹配ORB算法

    在这个“OpenCV4Android学习之图像特征匹配ORB算法”主题中,我们将深入探讨ORB算法的原理、如何在Android上使用OpenCV实现ORB特征匹配,以及一个简单的示例Demo。 首先,ORB(Oriented FAST and Rotated BRIEF)是...

    android获取应用32位签名

    本文将深入探讨如何获取Android应用的32位签名,以及这个过程的重要性。 首先,我们需要理解Android应用签名的基本概念。在Android系统中,签名是一个数字证书,它包含了开发者的信息和用于验证APK的公钥。这个签名...

    android 蓝牙自动匹配连接。

    在Android平台上实现蓝牙自动匹配和连接是一项常见的任务,特别是在物联网(IoT)设备或智能硬件的交互中。本文将深入探讨如何在Android应用中设置蓝牙自动连接功能。 首先,我们需要理解Android蓝牙的基础知识。...

    基于像素匹配的Android平台身份证号码实时识别.pdf

    本文讨论的是在Android平台上实现身份证号码的实时识别技术,主要基于像素匹配的方法。该技术涉及到Android客户端应用开发,对于移动设备上的身份验证或信息录入具有重要意义。以下是系统的实现步骤和关键技术: 1....

    Android-猿匹配——国内首个程序猿非严肃婚恋交友应用让我们一言不合就来场匹配吧

    "猿匹配"作为一个程序猿非严肃婚恋交友应用,其背后的技术实现是Android开发的典型应用案例。这个应用不仅涉及到基本的用户界面设计、数据存储与同步,还可能包括社交功能、地理位置服务以及个性化推荐算法等复杂...

    android eclipse 64位下载

    ### Android Eclipse 64位下载相关知识点 #### 一、Eclipse简介 Eclipse是一款开源免费的集成开发环境(IDE),支持多种编程语言,包括Java、C/C++、PHP等。在Android开发领域,Eclipse曾经是主流的开发工具之一,...

    Android手机号码归属地查询(本地数据库)

    在Android开发中,有时我们需要实现一个功能,即查询手机用户输入的号码的归属地信息。这个功能在诸如电话簿管理、防骚扰应用等场景中非常常见。本项目提供了一个基于本地数据库的Android手机号码归属地查询Demo,让...

    android 搜索记录两种方式(包括自动匹配)

    在Android开发中,搜索记录的保存和展示是用户体验的重要组成部分,特别是当用户需要频繁搜索时。本篇文章将详细探讨两种常见的实现方式:SharePreferences和SQLite数据库,并涉及自动匹配功能的实现。 首先,我们...

    Android话题##匹配和点击

    在Android应用中,匹配通常是指在XML布局文件中定义的UI元素与其在Java代码中的对应对象之间的关联。例如,我们可能有一个Button在XML布局中,其id为`@+id/myButton`。在Activity或Fragment的Java代码中,我们会使用...

    android 通讯录搜索改变颜色

    当搜索结果加载到ListView中时,我们需要遍历每个ListView项(ViewHolder),找到包含匹配搜索关键词的TextView,并修改它的样式。这可以通过设置自定义的SpannableString或者运用Spanned类来实现。比如,我们可以...

    android客户端实现模糊查找

    在Android客户端开发中,模糊查找是一项重要的功能,它允许用户输入部分关键词就能匹配到相关的数据,极大地提高了用户体验。本文将详细讲解如何在Android应用中实现模糊查找,包括基础原理、关键技术和最佳实践。 ...

    Android修改系统文件访问权限

    在Android系统中,修改系统文件访问权限涉及到对操作系统底层的深度理解,这通常需要root权限。以下是关于这个主题的详细知识点: 1. **init.rc**:这是Android系统启动时执行的第一个脚本,位于系统的system/core/...

    Android 人脸识别+人脸匹配(OpenCV+JavaCV)

    在Android平台上实现人脸识别和人脸匹配是一项复杂而有趣的任务,它涉及到计算机视觉和机器学习领域的技术。在这个项目中,开发者使用了OpenCV和JavaCV库来完成这一目标。OpenCV(Open Source Computer Vision ...

Global site tag (gtag.js) - Google Analytics