android 获取IMEI号

android 获取 imei号码

核心代码:

Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE))
.getDeviceId();

1.加入权限

在manifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" />

2.代码

  1 /**   
  2 *   
  3 *
  4 *创建日期 2010-4-29 下午05:02:47   
  5 *   
  6 */    
  7 package net.sunniwell.app;     
  8 import android.app.Activity;     
  9 import android.os.Bundle;     
 10 import android.telephony.CellLocation;     
 11 import android.telephony.PhoneStateListener;     
 12 import android.telephony.TelephonyManager;     
 13 public class TelManager extends Activity {     
 14     
 15 @Override    
 16 protected void onCreate(Bundle savedInstanceState) {     
 17   super.onCreate(savedInstanceState);     
 18   TelephonyManager tm = (TelephonyManager) this.getSystemService(TELEPHONY_SERVICE);     
 19        
 20   /*   
 21    * 电话状态:   
 22    * 1.tm.CALL_STATE_IDLE=0          无活动   
 23    * 2.tm.CALL_STATE_RINGING=1  响铃   
 24    * 3.tm.CALL_STATE_OFFHOOK=2  摘机   
 25    */    
 26   tm.getCallState();//int     
 27        
 28   /*   
 29    * 电话方位:   
 30    *    
 31    */    
 32   tm.getCellLocation();//CellLocation     
 33        
 34   /*   
 35    * 唯一的设备ID:   
 36    * GSM手机的 IMEI 和 CDMA手机的 MEID.    
 37    * Return null if device ID is not available.   
 38    */    
 39   tm.getDeviceId();//String     
 40        
 41   /*   
 42    * 设备的软件版本号:   
 43    * 例如:the IMEI/SV(software version) for GSM phones.   
 44    * Return null if the software version is not available.    
 45    */    
 46   tm.getDeviceSoftwareVersion();//String     
 47        
 48   /*   
 49    * 手机号:   
 50    * GSM手机的 MSISDN.   
 51    * Return null if it is unavailable.    
 52    */    
 53   tm.getLine1Number();//String     
 54        
 55   /*   
 56    * 附近的电话的信息:   
 57    * 类型:List<NeighboringCellInfo>    
 58    * 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES   
 59    */    
 60   tm.getNeighboringCellInfo();//List<NeighboringCellInfo>     
 61        
 62   /*   
 63    * 获取ISO标准的国家码,即国际长途区号。   
 64    * 注意:仅当用户已在网络注册后有效。   
 65    *       在CDMA网络中结果也许不可靠。   
 66    */    
 67   tm.getNetworkCountryIso();//String     
 68        
 69   /*   
 70    * MCC+MNC(mobile country code + mobile network code)   
 71    * 注意:仅当用户已在网络注册时有效。   
 72    *    在CDMA网络中结果也许不可靠。   
 73    */    
 74   tm.getNetworkOperator();//String     
 75        
 76   /*   
 77    * 按照字母次序的current registered operator(当前已注册的用户)的名字   
 78    * 注意:仅当用户已在网络注册时有效。   
 79    *    在CDMA网络中结果也许不可靠。   
 80    */    
 81   tm.getNetworkOperatorName();//String     
 82        
 83   /*   
 84    * 当前使用的网络类型:   
 85    * 例如: NETWORK_TYPE_UNKNOWN  网络类型未知  0   
 86      NETWORK_TYPE_GPRS     GPRS网络  1   
 87      NETWORK_TYPE_EDGE     EDGE网络  2   
 88      NETWORK_TYPE_UMTS     UMTS网络  3   
 89      NETWORK_TYPE_HSDPA    HSDPA网络  8    
 90      NETWORK_TYPE_HSUPA    HSUPA网络  9   
 91      NETWORK_TYPE_HSPA     HSPA网络  10   
 92      NETWORK_TYPE_CDMA     CDMA网络,IS95A 或 IS95B.  4   
 93      NETWORK_TYPE_EVDO_0   EVDO网络, revision 0.  5   
 94      NETWORK_TYPE_EVDO_A   EVDO网络, revision A.  6   
 95      NETWORK_TYPE_1xRTT    1xRTT网络  7   
 96    */    
 97   tm.getNetworkType();//int     
 98        
 99   /*   
100    * 手机类型:   
101    * 例如: PHONE_TYPE_NONE  无信号   
102      PHONE_TYPE_GSM   GSM信号   
103      PHONE_TYPE_CDMA  CDMA信号   
104    */    
105   tm.getPhoneType();//int     
106        
107   /*   
108    * Returns the ISO country code equivalent for the SIM provider's country code.   
109    * 获取ISO国家码,相当于提供SIM卡的国家码。   
110    *    
111    */    
112   tm.getSimCountryIso();//String     
113        
114   /*   
115    * Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits.   
116    * 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.   
117    * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   
118    */    
119   tm.getSimOperator();//String     
120        
121   /*   
122    * 服务商名称:   
123    * 例如:中国移动、联通   
124    * SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断).   
125    */    
126   tm.getSimOperatorName();//String     
127        
128   /*   
129    * SIM卡的序列号:   
130    * 需要权限:READ_PHONE_STATE   
131    */    
132   tm.getSimSerialNumber();//String     
133        
134   /*   
135    * SIM的状态信息:   
136    *  SIM_STATE_UNKNOWN          未知状态 0   
137    SIM_STATE_ABSENT           没插卡 1   
138    SIM_STATE_PIN_REQUIRED     锁定状态,需要用户的PIN码解锁 2   
139    SIM_STATE_PUK_REQUIRED     锁定状态,需要用户的PUK码解锁 3   
140    SIM_STATE_NETWORK_LOCKED   锁定状态,需要网络的PIN码解锁 4   
141    SIM_STATE_READY            就绪状态 5   
142    */    
143   tm.getSimState();//int     
144        
145   /*   
146    * 唯一的用户ID:   
147    * 例如:IMSI(国际移动用户识别码) for a GSM phone.   
148    * 需要权限:READ_PHONE_STATE   
149    */    
150   tm.getSubscriberId();//String     
151        
152   /*   
153    * 取得和语音邮件相关的标签,即为识别符   
154    * 需要权限:READ_PHONE_STATE   
155    */    
156   tm.getVoiceMailAlphaTag();//String     
157        
158   /*   
159    * 获取语音邮件号码:   
160    * 需要权限:READ_PHONE_STATE   
161    */    
162   tm.getVoiceMailNumber();//String     
163        
164   /*   
165    * ICC卡是否存在   
166    */    
167   tm.hasIccCard();//boolean     
168        
169   /*   
170    * 是否漫游:   
171    * (在GSM用途下)   
172    */    
173   tm.isNetworkRoaming();//     
174        
175        
176        
177 }     
178     
179     
180 }   
View Code
天生我才必有用,千金散去还复来!
原文地址:https://www.cnblogs.com/Jack-Lu/p/3198221.html