获取Android手机短信中心号码
首先到度娘那邊找了好久,發(fā)現(xiàn)很多講解,好開心。總之羅列了大約四種方法~~~借鑒了各位前輩講解,我總結(jié)了一下:
第一位前輩:http://blog.csdn.net/chujiujiao/article/details/7278315
第一種方法 通過向移動運(yùn)營商(比如10086)發(fā)送一條免費短信然后等待對方回復(fù),從對方回復(fù)的短信中獲取短信中心號;實現(xiàn)方式參見http://blog.csdn.net/sodino/article/details/5871537?,該種方式的優(yōu)點就是肯定能得到正確的短信中心號(電信的卡除外), 但也有一些缺點 1: 對方回復(fù)短信需要等待一段時間,具體等待多長時間無法確定。2: 有的手機(jī)不一定能成功攔截下行短信因此帶來的用戶體驗不是很好。
第二種方法和第一種比較相似,直接從用戶的收件箱中讀取一條短信然后從該信息中獲取短信中心號,這種方式的好處就是不用發(fā)送短信;缺點是獲取的短信中心號不一定正確,比如用戶以前一直用的移動的卡收件箱中短信存的都是移動的短信中心號,之后如果換成聯(lián)通的卡后獲取的短信中心還是移動的。
第三種就是直接獲取用戶手機(jī)中的短信中心號,該種方式需要你的應(yīng)用滿足兩個條件,1:你的應(yīng)用需要有系統(tǒng)簽名. 2:你的應(yīng)用需要和phone進(jìn)程在同一個進(jìn)程組。
第四種方法就是我成功的,當(dāng)然引用了別人的Demo。然而代碼是有問題的,運(yùn)行起來 無短信中心號碼。先來Demo下載地址?http://download.csdn.net/detail/wuzongpo/5190891#comment主體思想就是先讀取收件箱里短信,然后進(jìn)行遍歷,頻率統(tǒng)計最多者就是短信中心號碼。
貼出修改的這部分代碼:這是未修改SmsUtil的部分代碼
這是修改后的:
其實就是在對添加頻率統(tǒng)計前判空一下。否者可能會一直提示你 無短信之類的。
缺點:::::第一,并不準(zhǔn)確。手機(jī)查看短信中心號碼方法:打開撥號鍵,鍵盤輸入 ?*#*#4636#*#* ? ,進(jìn)入 手機(jī)信息 ,再下拉最后有 SMSC: ? ? ?更新 ?刷新兩個按鈕,點擊刷新,出來的就是。而通過demo得到的一般后四位不準(zhǔn)。只是定位省份基本夠了。這有個查詢?nèi)珖绦胖行奶柎a博客:http://www.52qj.com/0/102/7674.html? ?第二,跨省份,換卡(從移動變聯(lián)動卡)。因為是統(tǒng)計短信頻率判斷。所以當(dāng)你在浙江手機(jī)里存了N多短信,來到江蘇后存了十幾條。它獲取的是以前地域的短信中心號碼。
總之,沒有辦法直接獲取到手機(jī)短信中心號碼。這是為了手機(jī)安全嘛。也是為了我們自己。
總結(jié)
以上是生活随笔為你收集整理的获取Android手机短信中心号码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java word书签_java 操作w
- 下一篇: python 书签内容整理