Android编程中号码匹配位数修改的方法

 更新时间:2015年11月04日 12:01:11   作者:Just run  
这篇文章主要介绍了Android编程中号码匹配位数修改的方法,涉及Android编程中参数修改的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下

本文实例讲述了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位长度的号码的匹配

希望本文所述对大家Android程序设计有所帮助。

相关文章

  • Android实现微信首页左右滑动切换效果

    Android实现微信首页左右滑动切换效果

    这篇文章主要介绍了Android实现微信首页左右滑动切换效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • Android如何高效显示较大的Bitmaps

    Android如何高效显示较大的Bitmaps

    这篇文章主要为大家详细介绍了Android如何高效显示较大Bitmaps的方法,感兴趣的小伙伴们可以参考一下
    2016-05-05
  • Android中关于相对布局RelativeLayout的技巧汇总

    Android中关于相对布局RelativeLayout的技巧汇总

    RelativeLayout是相对布局控件,以控件之间相对位置或相对父容器位置进行排列。下面这篇文章主要给大家介绍了关于Android中相对布局RelativeLayout的一些技巧,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-02-02
  • 详解Flutter中网络框架dio的二次封装

    详解Flutter中网络框架dio的二次封装

    其实dio框架已经封装的很好了,但是在实战项目中,为了项目可以统一管理,还是需要对dio框架进行二次封装。本文将详细讲解一下dio如何二次封装,需要的可以参考一下
    2022-04-04
  • Android基于OkHttp实现下载和上传图片

    Android基于OkHttp实现下载和上传图片

    这篇文章主要为大家详细介绍了Android基于OkHttp实现下载和上传图片功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-11-11
  • Android控件PullRefreshViewGroup实现下拉刷新和上拉加载

    Android控件PullRefreshViewGroup实现下拉刷新和上拉加载

    这篇文章主要为大家详细介绍了Android控件PullRefreshViewGroup实现下拉刷新和上拉加载效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-03-03
  • Kotlin作用域函数之间的区别和使用场景详解

    Kotlin作用域函数之间的区别和使用场景详解

    这篇文章主要给大家介绍了关于Kotlin作用域函数之间的区别和使用场景的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Android中ViewPager实现滑动条及与Fragment结合的实例教程

    Android中ViewPager实现滑动条及与Fragment结合的实例教程

    ViewPager类主要被用来实现可滑动的视图功能,这里我们就来共同学习Android中ViewPager实现滑动条及与Fragment结合的实例教程,需要的朋友可以参考下
    2016-06-06
  • 解析Android框架之Volley源码

    解析Android框架之Volley源码

    我们知道Volley是在2013年Google I/O大会上推出了一个新的网络通信框架,他的设计目的就是为了那些请求数据量不是特别大,但是又是特别频繁的网络操作非常适合。但是对于数据量较大的请求,比如说下载一个较大的文件,Volley可能相比于其他的框架,就有点不足了。
    2021-06-06
  • Android TV listview及焦点处理

    Android TV listview及焦点处理

    这篇文章主要介绍了Android TV listview及焦点处理的相关资料,需要的朋友可以参考下
    2017-06-06

最新评论