Android編程中號碼匹配位數(shù)修改的方法
本文實(shí)例講述了Android編程中號碼匹配位數(shù)修改的方法。分享給大家供大家參考,具體如下:
Android2.1上默認(rèn)的號碼匹配位數(shù)是7位,也就是說從右向左算起,如果兩個號碼有7位是匹配的,那么就認(rèn)為是相同的號碼,如+86 1234567和01234567是相同的號碼;所以判斷兩個號碼是否匹配,簡單的用”==”是不行的。
安卓在Sqlite層新增了函數(shù)phone_numbers_equal用于號碼匹配的判斷,這個函數(shù)是數(shù)據(jù)庫級的,對應(yīng)的SQL語句是PHONE_NUMBERS_EQUAL,android將該函數(shù)以2個參數(shù)和3個參數(shù)的形式注冊到sqlite數(shù)據(jù)庫里,2個參數(shù)的情況無非就是號碼A和號碼B,3個參數(shù)則多了一個bool變量,用來指示是否使用嚴(yán)格匹配,這個嚴(yán)格匹配是專門給泰國用的,看來泰國的號碼規(guī)則比較特別,而在我們國家,這個變量一般情況下都是0了。
進(jìn)入正題,修改android的號碼匹配位數(shù),其實(shí)很簡單,修改OldPhoneNumberUtils.cpp文件中的最小匹配位數(shù)為想要的數(shù)字即可,該數(shù)字在函數(shù)phone_number_compare_loose函數(shù)中使用,這個函數(shù)其實(shí)就是號碼匹配的真正函數(shù),文件位置:external\sqlite\android
static int MIN_MATCH = 7; //修改成你想要的數(shù)字
在framwork層還有個一樣的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吧,會影響英文狀態(tài)下6位長度的號碼的匹配
希望本文所述對大家Android程序設(shè)計有所幫助。
- Android 正則表達(dá)式驗(yàn)證手機(jī)號、姓名(包含少數(shù)民族)、身份證號
- Android 中使用ContentObserver模式獲取短信用正則自動填充驗(yàn)證碼
- Android判斷11位手機(jī)號碼的方法(正則表達(dá)式)
- Android正則表達(dá)式
- Android中手機(jī)號、車牌號正則表達(dá)式大全
- Android 搜索結(jié)果匹配關(guān)鍵字且高亮顯示功能
- Android實(shí)現(xiàn)自動匹配關(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ì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11Fultter NestedScrollView實(shí)現(xiàn)吸頂效果以及遇到問題解析
這篇文章主要為大家介紹了Fultter NestedScrollView實(shí)現(xiàn)吸頂效果以及遇到問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例
這篇文章主要介紹了Android實(shí)現(xiàn)藍(lán)牙客戶端與服務(wù)器端通信示例,具有一定的參考價值,感興趣的小伙伴們可以參考一下。2017-01-01Android用 Mob 實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼實(shí)例
這篇文章主要介紹了Android用 Mob 實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼實(shí)例,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06Android百度地圖應(yīng)用之創(chuàng)建顯示地圖
這篇文章主要為大家詳細(xì)介紹了Android百度地圖應(yīng)用之創(chuàng)建顯示地圖,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-06-06Android四大組件之Service服務(wù)詳細(xì)講解
Android的服務(wù)是開發(fā)Android應(yīng)用程序的重要組成部分。不同于活動Activity,服務(wù)是在后臺運(yùn)行,服務(wù)沒有接口,生命周期也與活動Activity非常不同。通過使用服務(wù)我們可以實(shí)現(xiàn)一些后臺操作,比如想從遠(yuǎn)程服務(wù)器加載一個網(wǎng)頁等,下面來看看詳細(xì)內(nèi)容,需要的朋友可以參考下2022-07-07Android IntentService詳解及使用實(shí)例
這篇文章主要介紹了Android IntentService詳解及使用實(shí)例的相關(guān)資料,需要的朋友可以參考下2017-03-03Android開發(fā)教程之shape和selector的結(jié)合使用
shape和selector是Android UI設(shè)計中經(jīng)常用到的,比如我們要自定義一個圓角Button,點(diǎn)擊Button有些效果的變化,就要用到shape和selector,接下來通過本文給大家介紹Android開發(fā)教程之shape和selector的結(jié)合使用,感興趣的朋友一起學(xué)習(xí)吧2016-01-01Android Studio 通過登錄功能介紹SQLite數(shù)據(jù)庫的使用流程
SQLite是一款輕型的數(shù)據(jù)庫,是遵守ACID的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它包含在一個相對小的C庫中。這篇文章主要介紹了Android Studio 通過登錄功能介紹SQLite數(shù)據(jù)庫的使用流程,需要的朋友可以參考下2018-09-09