相比大家都知道,每部手機都有一個屬於自己的字串,這個字串是全球唯一的;即使相同品牌,相同型號,它們彼此也不會雷同;這個碼就是IEMI碼。
IMEI(International Mobile Equipment Identity)是國際行動裝置身份碼的縮寫,國際移動裝備辨識碼,是由15位元字組成的"電子串號",它與每台手機一一對應,而且該碼是全世界唯一的。每一隻手機在組裝完成後都將被賦予一個全球唯一的一組號碼,這個號碼從生產到交付使用都將被製造生產的廠商所記錄。
有了IMEI碼,我們就能很方便的區分出每一台機器,區分出機器擁有者、使用者。IMEI碼也是使用者無法自行更改的,因此很大程度上防止了“偷梁換柱”使用者行為。比如,我們可以用IEMI碼作為登陸驗證。
我之前做的工程中,有幾個牽扯到了AndroidPad。(見 http://www.linuxidc.com/Linux/2011-10/44917.htm 與 http://www.linuxidc.com/Linux/2011-10/44918.htm)同樣,我也能從中擷取IMEI碼。可見,IMEI碼不僅僅局限於手機;但是不同的是,我測試的aigo的幾個Pad,他們的IMEI碼中含有字母,因此如果今後大家在通過代碼查詢IMEI碼時發現有字母在內,不要猶豫,這很正常。
廢話不多說了,看代碼!
代碼主要有兩部分,一是Java代碼,另一個則是Manifest.xml中的許可權。
先看Java代碼:
1.//擷取IMEI碼
TelephonyManager telephonyManager = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
String IMEI = telephonyManager.getDeviceId();
5.//將擷取到的IMEI碼列印 6.System.out.println("IMEI:" + IMEI);我們設定字串IMEI,最後列印字串,就能看到IMEI碼了。 其次是Manifest.xml中許可權:
1.<uses-permission Android:name="android.permission.READ_PHONE_STATE" />