国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android編程中號碼匹配位數修改的方法

2020-04-11 11:18:53
字體:
來源:轉載
供稿:網友

本文實例講述了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程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 石狮市| 广东省| 新乡县| 德惠市| 陆良县| 泗阳县| 保靖县| 长泰县| 武山县| 股票| 平遥县| 镇雄县| 庆安县| 宜宾市| 上栗县| 浦东新区| 中西区| 鹰潭市| 鞍山市| 卢湾区| 乡宁县| 栖霞市| 茶陵县| 醴陵市| 封丘县| 新乐市| 和林格尔县| 西畴县| 铅山县| 屯留县| 六枝特区| 蒙山县| 邵阳市| 行唐县| 晋中市| 宁海县| 绥芬河市| 鄂托克旗| 青冈县| 永靖县| 浦城县|