首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

手機 IMEI 號碼結構解析與 J2ME 獲取方法總結

     編輯:J2ME

手機 IMEI 深度解析:結構拆解、產地代碼對照表與 J2ME 程式碼獲取指南

IMEI (International Mobile Equipment Identity) 為行動裝置唯一識別碼,俗稱「串號」。本文整理 IMEI 結構定義、各段碼含義、主流品牌產地代碼對照表,並提供針對 Motorola、Siemens 等品牌的 J2ME 獲取程式碼。

IMEI 結構拆解 (共 15 位數字)

TAC (6碼) + FAC (2碼) + SNR (6碼) + SP (1碼)
  1. TAC (Type Allocation Code):型號核准號碼,由歐洲認證中心分配。同型號手機 TAC 必相同。可用於辨識翻新機 (舊機芯換新殼,TAC 不符)。
  2. FAC (Final Assembly Code):最終裝配代碼,代表裝配廠所在國家/地區。常作為產地判斷依據 (非晶片製造地)。
  3. SNR (Serial Number):出廠序列號,廠內管理用。同品牌同型號 SNR 不可能相同,若相同至少一支為贗品。
  4. SP (Spare):備用碼,通常為 0。部分機型 (如愛立信 T18SC/T28SC) 尾碼附加版本號,屬正常。

主流品牌 FAC 產地代碼對照表 (摘自 3G365 論壇)

品牌代碼代表地區
Nokia48, 60, 62, 80, 81, 92, 93中國
06, 07, 08, 20法國
19, 40, 41, 44英國
10芬蘭
18新加坡
30韓國
Motorola07, 08德國
18新加坡
40, 41蘇格蘭
80, 81, 92, 93中國 (天津/杭州)
67, 68美國/美洲
Sony Ericsson19英國
51瑞典
61香港
62中國 (北京)
Siemens37上海
Panasonic62北京
Samsung89, 90, 92韓國
Philips69深圳

註:代碼可能隨產線調整變動,僅供參考。驗證真機建議配合入網證驗鈔機檢查 (紅色 CMII 圖案)。

J2ME 獲取 IMEI 程式碼 (依廠商而異)

無統一標準 API,需呼叫廠商專屬系統屬性:

1. Motorola 系列

String imei = System.getProperty("IMEI");

2. Siemens 系列

String imei = System.getProperty("com.siemens.IMEI");

3. 其他品牌

  • Nokia 部分機型:System.getProperty("com.nokia.IMEI") 或 "IMEI"。
  • Sony Ericsson:System.getProperty("com.sonyericsson.IMEI")。
  • 建議參考各廠商官方開發文件確認屬性鍵名。

開發實務建議

  • 權限問題:MIDP 2.0 需在 JAD 中聲明權限 (如 MIDlet-Permissions: javax.microedition.io.Connector.imei),並簽名部署,否則 getProperty 可能回傳 null 或拋出 SecurityException。
  • 相容性:大量機型不支援以此方式讀取 IMEI。設計時應將 IMEI 視為輔助識別,不可作為核心授權唯一依據。
  • 替代方案:考慮使用 RMS 儲存隨機生成的裝置唯一 ID (首次啟動產生),或結合藍牙 MAC、WLAN MAC 等硬體資訊 (需對應 Optional Package 支援)。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved