核心代码:

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

[转]android 获取 imei号码的更多相关文章

  1. android 获取 imei号码 及相关信息

    android 获取 imei号码 参考:http://www.cnblogs.com/luxiaofeng54/archive/2011/03/01/1968063.html 核心代码: Imei ...

  2. android 获取 imei号码

    Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId(); 1.加入权限 在manifest.xml ...

  3. Android 获取imei号码,获取手机型号和系统版本号

    在AndroidManifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STAT ...

  4. android 获取IMEI号

    android 获取 imei号码 核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)).getDeviceId( ...

  5. Android 获取手机(ios,android)的设备唯一码(mac地址, IMEI)

    { /*获取手机(ios,android)的设备唯一码(mac地址, IMEI)2018年02月16日 ⁄ 综合 ⁄ 共 2697字 ⁄ 字号 小 中 大 ⁄ 评论关闭 app中总会用到客户端下载量数 ...

  6. android 中怎样获取IMEI号

    1)在Telephony Framework内部.能够直接使用GSMPhone或GeminiPhone提供的接口. KK之前的版本号: IMEI(International Mobile Equipm ...

  7. Android 获取手机SIM资料详解

    TelephonyManager类主要提供了一系列用于访问与手机通讯相关的状态和信息的get方法.其中包括手机SIM的状态和信息.电信网络的状态及手机用户的信息.在应用程序中可以使用这些get方法获取 ...

  8. android 读取用户号码,手机串号,SIM卡序列号

    简介: IMSI:international mobiles subscriber identity国际移动用户号码标识,这个一般大家是不知道,GSM必须写在卡内相关文件中:MSISDN:mobile ...

  9. Android 获取可靠的手机编码

    项目中出现了将设备和用户信息进行绑定的需求.最先想到的是IMEI串码和IMSI串码.手机登陆的时候一直都没有问题.换了一个平板中之后IMEI和IMSI串码都获取不到了.后来查了一下原因,是因为平板上是 ...

随机推荐

  1. PAT 1141 PAT Ranking of Institutions

    After each PAT, the PAT Center will announce the ranking of institutions based on their students' pe ...

  2. 关于zookeeper和zkfc的一些测试

    1.停掉zookeeper集群 ****进程影响****** zkfc:报错无法连接zookeeper.ClientCnxn java.net.connectexception:拒绝连接,但不会shu ...

  3. hdu 5017 模拟退火算法

    hdu 5017 http://blog.csdn.net/mypsq/article/details/39340601 #include <cstdio> #include <cs ...

  4. 6、Java并发性和多线程-并发性与并行性

    以下内容转自http://tutorials.jenkov.com/java-concurrency/concurrency-vs-parallelism.html(使用谷歌翻译): 术语并发和并行性 ...

  5. Servlet通过JavaBean传值到JSP页面

    主要通过Attribute进行传递,主要代码如下: 赋值,并定义跳转的页面: request.setAttribute("user", user); request.getRequ ...

  6. Hadoop2.0安装之非HA版

    主要步骤跟Hadoop1.0(1.0安装地址)一致,主要在配置这块有更改 安装 下载地址:http://archive.apache.org/dist/hadoop/core/hadoop-2.6.5 ...

  7. Cisco IOU Web Interface : Web IOU

    https://github.com/dainok http://sns.clnchina.com.cn/space.php?uid=404779&do=blog&id=4298 ht ...

  8. ERROR 1045 (28000)

    mysql登陆出现这个错误时,解决方法如下: 1. 修改mysql配置文件,增加 skip-grant-tables 如我的机器是linux 所以要修改/etc/mysql/my.cnf 在mysql ...

  9. mybatis中jdbcType的作用和是否必须

    1. mybatis中 jdbcType 时间类型 当jdbcType = DATE 时, 只传入了 年月日 jdbcType = TIMESTAMP ,  年月日+ 时分秒 2. jdbcType ...

  10. nodejs shell

    REPL (Read-eval-print loop),即输入—求值—输出循环.如果你用过 Python,就会知道在终端下运行无参数的 python 命令或者使用 Python IDLE 打开的 sh ...