Android編程中號(hào)碼匹配位數(shù)修改的方法
本文實(shí)例講述了Android編程中號(hào)碼匹配位數(shù)修改的方法。分享給大家供大家參考,具體如下:
Android2.1上默認(rèn)的號(hào)碼匹配位數(shù)是7位,也就是說從右向左算起,如果兩個(gè)號(hào)碼有7位是匹配的,那么就認(rèn)為是相同的號(hào)碼,如+86 1234567和01234567是相同的號(hào)碼;所以判斷兩個(gè)號(hào)碼是否匹配,簡(jiǎn)單的用”==”是不行的。
安卓在Sqlite層新增了函數(shù)phone_numbers_equal用于號(hào)碼匹配的判斷,這個(gè)函數(shù)是數(shù)據(jù)庫(kù)級(jí)的,對(duì)應(yīng)的SQL語句是PHONE_NUMBERS_EQUAL,android將該函數(shù)以2個(gè)參數(shù)和3個(gè)參數(shù)的形式注冊(cè)到sqlite數(shù)據(jù)庫(kù)里,2個(gè)參數(shù)的情況無非就是號(hào)碼A和號(hào)碼B,3個(gè)參數(shù)則多了一個(gè)bool變量,用來指示是否使用嚴(yán)格匹配,這個(gè)嚴(yán)格匹配是專門給泰國(guó)用的,看來泰國(guó)的號(hào)碼規(guī)則比較特別,而在我們國(guó)家,這個(gè)變量一般情況下都是0了。
進(jìn)入正題,修改android的號(hào)碼匹配位數(shù),其實(shí)很簡(jiǎn)單,修改OldPhoneNumberUtils.cpp文件中的最小匹配位數(shù)為想要的數(shù)字即可,該數(shù)字在函數(shù)phone_number_compare_loose函數(shù)中使用,這個(gè)函數(shù)其實(shí)就是號(hào)碼匹配的真正函數(shù),文件位置:external\sqlite\android
static int MIN_MATCH = 7; //修改成你想要的數(shù)字
在framwork層還有個(gè)一樣的java函數(shù)實(shí)現(xiàn),compareLoosely(A,B),framewoeks\base\telephony\java\android\telephony\PhoneNumberUtils.java,其中使用到的MIN_MATCH同樣需要修改。
【注】:2.1上 phone_number_compare_loose 和 compareLoosely函數(shù)的實(shí)現(xiàn)里面少了幾句代碼,算是BUG吧,會(huì)影響英文狀態(tài)下6位長(zhǎng)度的號(hào)碼的匹配
希望本文所述對(duì)大家Android程序設(shè)計(jì)有所幫助。
- Android 正則表達(dá)式驗(yàn)證手機(jī)號(hào)、姓名(包含少數(shù)民族)、身份證號(hào)
- Android 中使用ContentObserver模式獲取短信用正則自動(dòng)填充驗(yàn)證碼
- Android判斷11位手機(jī)號(hào)碼的方法(正則表達(dá)式)
- Android正則表達(dá)式
- Android中手機(jī)號(hào)、車牌號(hào)正則表達(dá)式大全
- Android 搜索結(jié)果匹配關(guān)鍵字且高亮顯示功能
- Android實(shí)現(xiàn)自動(dòng)匹配關(guān)鍵字并且標(biāo)紅功能
- Android Java實(shí)現(xiàn)余弦匹配算法示例代碼
- 從Android源碼剖析Intent查詢匹配的實(shí)現(xiàn)
- Android編程開發(fā)中的正則匹配操作示例
相關(guān)文章
Android實(shí)現(xiàn)微信首頁(yè)左右滑動(dòng)切換效果
這篇文章主要介紹了Android實(shí)現(xiàn)微信首頁(yè)左右滑動(dòng)切換效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-09-09
Android中關(guān)于相對(duì)布局RelativeLayout的技巧匯總
RelativeLayout是相對(duì)布局控件,以控件之間相對(duì)位置或相對(duì)父容器位置進(jìn)行排列。下面這篇文章主要給大家介紹了關(guān)于Android中相對(duì)布局RelativeLayout的一些技巧,需要的朋友可以參考借鑒,下面來一起看看吧。2017-02-02
詳解Flutter中網(wǎng)絡(luò)框架dio的二次封裝
其實(shí)dio框架已經(jīng)封裝的很好了,但是在實(shí)戰(zhàn)項(xiàng)目中,為了項(xiàng)目可以統(tǒng)一管理,還是需要對(duì)dio框架進(jìn)行二次封裝。本文將詳細(xì)講解一下dio如何二次封裝,需要的可以參考一下2022-04-04
Android基于OkHttp實(shí)現(xiàn)下載和上傳圖片
這篇文章主要為大家詳細(xì)介紹了Android基于OkHttp實(shí)現(xiàn)下載和上傳圖片功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11
Android控件PullRefreshViewGroup實(shí)現(xiàn)下拉刷新和上拉加載
這篇文章主要為大家詳細(xì)介紹了Android控件PullRefreshViewGroup實(shí)現(xiàn)下拉刷新和上拉加載效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
Kotlin作用域函數(shù)之間的區(qū)別和使用場(chǎng)景詳解
這篇文章主要給大家介紹了關(guān)于Kotlin作用域函數(shù)之間的區(qū)別和使用場(chǎng)景的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08
Android中ViewPager實(shí)現(xiàn)滑動(dòng)條及與Fragment結(jié)合的實(shí)例教程
ViewPager類主要被用來實(shí)現(xiàn)可滑動(dòng)的視圖功能,這里我們就來共同學(xué)習(xí)Android中ViewPager實(shí)現(xiàn)滑動(dòng)條及與Fragment結(jié)合的實(shí)例教程,需要的朋友可以參考下2016-06-06
Android TV listview及焦點(diǎn)處理
這篇文章主要介紹了Android TV listview及焦點(diǎn)處理的相關(guān)資料,需要的朋友可以參考下2017-06-06

