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. }

android 获取IMEI号的更多相关文章

  1. android 中怎样获取IMEI号

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

  2. Qt Add ons Modules(听说QtSystem有接口可以获取 imei号)

    http://wiki.qt.io/Qt-Add-ons-Modules 听说QtSystem有接口可以获取 imei号.http://wiki.qt.io/Qt-Add-ons-Modules这儿下 ...

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

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

  4. android系统中使用TelephonyManager类来获取imei号和其他手机信息

    在AndroidManifest.xml文件中增加<!--允许读取电话状态SIM的权限--><uses-permission android:name="android.p ...

  5. android 获取 imei号码

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

  6. [转]android 获取 imei号码

    核心代码: Imei = ((TelephonyManager) getSystemService(TELEPHONY_SERVICE)) .getDeviceId(); 1.加入权限 在manife ...

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

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

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

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

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

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

随机推荐

  1. Java IO (3) - Reader

    Java IO (3) - Reader 前言 JavaIO一共包括两种,一种是stream,一种是reader/writer,每种又包括in/out,所以一共是四种包.Java 流在处理上分为字符流 ...

  2. C语言简单实现sizeof功能代码

    sizeof不是函数,而是运算符,C/C++语言编译器在预编译阶段的时候就已经处理完了sizeof的问题,也就是说sizeof类似于宏定义. 下面给出一个sizeof的一个宏定义实现版本 #defin ...

  3. [置顶] 栈/入栈/出栈顺序(c语言)-linux

    说明: 1.栈底为高地址,栈顶为低地址. 2.入栈顺序:从右到左. 解释1:栈在内存中的结构 [注:0x00 到 0x04之间间隔4个地址] 入栈:指针先指向0x10,从高地址向低地址方向填数值,最终 ...

  4. socket断开连接的四次握手及常见过程解析

    TCP的协议文档对TCP的一些规定:文档名称-RFC793  TCP消息头的控制位 URG:紧急指针字段有效 ACK:确认头部字段有效 PSH:强制函数 RST:重置链接 SYN:同步系列号码 FIN ...

  5. python 实现冒泡排序与快速排序 遇到的错误与问题

    今天看了兄弟连php里面的冒泡排序与快速排序,想了下应该可以用python实现. 冒泡排序函数: def mysort(x): len1 = len(x) for i in range(len1-1, ...

  6. javascript --执行上下文,作用域

    执行上下文 顾名思意就知道他是动态的,只在代码运行的时候产生 作用域 顾名思意就知道它是一个"领域",并且这个"领域"在一开始就规划好, 不会在改, var d ...

  7. [小技巧]設定Reporting Services 2008 發生報表管理員權限不足

    转载 http://www.dotblogs.com.tw/dorlis.tsao/archive/2011/01/17/20860.aspx 在自己Windows 7 professional的電腦 ...

  8. MySQL安装详解(V5.5 For Windows)

    前言 这几年一直在用MySQL,并且是Windows+.Net+MySQL的搭配,用MyISAM引擎支持过单表每天千万以上的数据递增,TB级的数据MySQL游刃有余.最近在做一个较大并发的项目,尝试了 ...

  9. 401 Palindromes(回文词)

      Palindromes  A regular palindrome is a string of numbers or letters that is the same forward as ba ...

  10. [Angular 2] Understanding Pure & Impure pipe

    First, how to use a build in pipe: <div class="pipe-example"> <label>Uppercase ...