[转]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. publicclass TelManager extends Activity {    
  14.    
  15. @Override   
  16. protectedvoid 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. }  
  181. 转http://blog.csdn.net/gumanren/archive/2011/02/26/6209237.aspx

posted on 2014-03-29 21:55  freeliver54  阅读(441)  评论(0)    收藏  举报

导航