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ù)庫級(jí)的,對(duì)應(yīng)的SQL語句是PHONE_NUMBERS_EQUAL,android將該函數(shù)以2個(gè)參數(shù)和3個(gè)參數(shù)的形式注冊(cè)到sqlite數(shù)據(jù)庫里,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自定義View實(shí)現(xiàn)彈幕效果
這篇文章主要為大家詳細(xì)介紹了Android自定義View實(shí)現(xiàn)彈幕效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11
Fultter NestedScrollView實(shí)現(xiàn)吸頂效果以及遇到問題解析
這篇文章主要為大家介紹了Fultter NestedScrollView實(shí)現(xiàn)吸頂效果以及遇到問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例
這篇文章主要介紹了Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。2017-01-01
Android用 Mob 實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼實(shí)例
這篇文章主要介紹了Android用 Mob 實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼實(shí)例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-06-06
Android百度地圖應(yīng)用之創(chuàng)建顯示地圖
這篇文章主要為大家詳細(xì)介紹了Android百度地圖應(yīng)用之創(chuàng)建顯示地圖,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06
Android四大組件之Service服務(wù)詳細(xì)講解
Android的服務(wù)是開發(fā)Android應(yīng)用程序的重要組成部分。不同于活動(dòng)Activity,服務(wù)是在后臺(tái)運(yùn)行,服務(wù)沒有接口,生命周期也與活動(dòng)Activity非常不同。通過使用服務(wù)我們可以實(shí)現(xiàn)一些后臺(tái)操作,比如想從遠(yuǎn)程服務(wù)器加載一個(gè)網(wǎng)頁等,下面來看看詳細(xì)內(nèi)容,需要的朋友可以參考下2022-07-07
Android IntentService詳解及使用實(shí)例
這篇文章主要介紹了Android IntentService詳解及使用實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03
Android開發(fā)教程之shape和selector的結(jié)合使用
shape和selector是Android UI設(shè)計(jì)中經(jīng)常用到的,比如我們要自定義一個(gè)圓角Button,點(diǎn)擊Button有些效果的變化,就要用到shape和selector,接下來通過本文給大家介紹Android開發(fā)教程之shape和selector的結(jié)合使用,感興趣的朋友一起學(xué)習(xí)吧2016-01-01
Android Studio 通過登錄功能介紹SQLite數(shù)據(jù)庫的使用流程
SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個(gè)相對(duì)小的C庫中。這篇文章主要介紹了Android Studio 通過登錄功能介紹SQLite數(shù)據(jù)庫的使用流程,需要的朋友可以參考下2018-09-09

