1. 程式人生 > >獲取手機IMEI/ICCID/IMSI

獲取手機IMEI/ICCID/IMSI

TelephonyManager telManager = (TelephonyManager) this
                .getSystemService(Context.TELEPHONY_SERVICE);

        String imei = telManager.getDeviceId();       //取出IMEI:國際移動裝置標識,是手機的識別id(International Mobile Equipment Identity)
        String tel = telManager.getLine1Number();     //這就是總是不能成功的獲取本機手機號方法
String iccid =telManager.getSimSerialNumber(); //取出ICCID:積體電路卡識別碼(固化在手機SIM卡中,就是SIM卡的序列號)很容易偽造哦 String imsi =telManager.getSubscriberId(); //取出IMSI:國際移動使用者識別碼(就是識別你是哪個運營商的SIM卡) String operatorNum = telManager.getSimOperator(); String operator = ""; if (operatorNum !=
null) { if (operatorNum.equals("46000") || operatorNum.equals("46002") || operatorNum.equals("46007")) { // 中國移動 operator = "中國移動"; } else if (operatorNum.equals("46001")) { // 中國聯通 operator = "中國聯通"; } else
if (operatorNum.equals("46003")) { // 中國電信 operator = "中國電信"; } } Log.e("aaa","imei--"+imei+"--iccid--"+iccid+"--imsi--"+imsi+"--運營商--"+operator);

補充說明

[1]在手機通話介面輸入 *#06# 即可顯示手機的IMEI,也就是 常說的手機的裝置ID

[2] SIM卡背面的數字就是手機SIM卡的ICCID,也就是手機卡的序列號,這個號很容易造假

[3]很久以前Android是可以獲取手機號的,現在隨著SIM卡的升級,手機號碼通過程式碼獲取不到了

[4]IMSI我理解的是標識移動使用者的(為了在無線路徑和整個GSM(Global System for Mobile Communications,全球移動通訊系統)行動通訊網上正確地識別某個移動客戶,就必須給移動客戶分配一個特定的識別碼。這個碼是儲存在SIM卡里的,通過程式碼可以獲取)

囉嗦
SIM卡是(Subscriber Identity Module 客戶識別模組)的縮寫,也稱為使用者身份識別卡、智慧卡
ICCID是手機卡背面的20位數字

實施實名制的初衷是遏制不良資訊的傳播,防範打擊各種電話詐騙活動,解決相關部門取證難、查處難的問題。