獲取手機IMEI/ICCID/IMSI
阿新 • • 發佈:2019-01-05
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位數字
實施實名制的初衷是遏制不良資訊的傳播,防範打擊各種電話詐騙活動,解決相關部門取證難、查處難的問題。