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

本文介绍了如何在Android应用中通过TelephonyManager类获取电话状态和相关信息,包括电话状态、设备ID、网络运营商等,并列举了获取这些信息所需的权限。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在AndroidManifest.xml文件中要添加 <uses-permission android:name="android.permission.READ_PHONE_STATE" /> 才有权限

[java] view plain copy
  1. TelephonyManagertm=(TelephonyManager)this.getSystemService(TELEPHONY_SERVICE);
  2. /*
  3. *电话状态:
  4. *1.tm.CALL_STATE_IDLE=0无活动
  5. *2.tm.CALL_STATE_RINGING=1响铃
  6. *3.tm.CALL_STATE_OFFHOOK=2摘机
  7. */
  8. tm.getCallState();//int
  9. /*
  10. *电话方位:
  11. *
  12. */
  13. tm.getCellLocation();//CellLocation
  14. /*
  15. *唯一的设备ID:
  16. *GSM手机的IMEI和CDMA手机的MEID.
  17. *ReturnnullifdeviceIDisnotavailable.
  18. */
  19. tm.getDeviceId();//String
  20. /*
  21. *设备的软件版本号:
  22. *例如:theIMEI/SV(softwareversion)forGSMphones.
  23. *Returnnullifthesoftwareversionisnotavailable.
  24. */
  25. tm.getDeviceSoftwareVersion();//String
  26. /*
  27. *手机号:
  28. *GSM手机的MSISDN.
  29. *Returnnullifitisunavailable.
  30. */
  31. tm.getLine1Number();//String
  32. /*
  33. *附近的电话的信息:
  34. *类型:List<NeighboringCellInfo>
  35. *需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES
  36. */
  37. tm.getNeighboringCellInfo();//List<NeighboringCellInfo>
  38. /*
  39. *获取ISO标准的国家码,即国际长途区号。
  40. *注意:仅当用户已在网络注册后有效。
  41. *在CDMA网络中结果也许不可靠。
  42. */
  43. tm.getNetworkCountryIso();//String
  44. /*
  45. *MCC+MNC(mobilecountrycode+mobilenetworkcode)
  46. *注意:仅当用户已在网络注册时有效。
  47. *在CDMA网络中结果也许不可靠。
  48. */
  49. tm.getNetworkOperator();//String
  50. /*
  51. *按照字母次序的currentregisteredoperator(当前已注册的用户)的名字
  52. *注意:仅当用户已在网络注册时有效。
  53. *在CDMA网络中结果也许不可靠。
  54. */
  55. tm.getNetworkOperatorName();//String
  56. /*
  57. *当前使用的网络类型:
  58. *例如:NETWORK_TYPE_UNKNOWN网络类型未知0
  59. NETWORK_TYPE_GPRSGPRS网络1
  60. NETWORK_TYPE_EDGEEDGE网络2
  61. NETWORK_TYPE_UMTSUMTS网络3
  62. NETWORK_TYPE_HSDPAHSDPA网络8
  63. NETWORK_TYPE_HSUPAHSUPA网络9
  64. NETWORK_TYPE_HSPAHSPA网络10
  65. NETWORK_TYPE_CDMACDMA网络,IS95A或IS95B.4
  66. NETWORK_TYPE_EVDO_0EVDO网络,revision0.5
  67. NETWORK_TYPE_EVDO_AEVDO网络,revisionA.6
  68. NETWORK_TYPE_1xRTT1xRTT网络7
  69. */
  70. tm.getNetworkType();//int
  71. /*
  72. *手机类型:
  73. *例如:PHONE_TYPE_NONE无信号
  74. PHONE_TYPE_GSMGSM信号
  75. PHONE_TYPE_CDMACDMA信号
  76. */
  77. tm.getPhoneType();//int
  78. /*
  79. *ReturnstheISOcountrycodeequivalentfortheSIMprovider'scountrycode.
  80. *获取ISO国家码,相当于提供SIM卡的国家码。
  81. *
  82. */
  83. tm.getSimCountryIso();//String
  84. /*
  85. *ReturnstheMCC+MNC(mobilecountrycode+mobilenetworkcode)oftheprovideroftheSIM.5or6decimaldigits.
  86. *获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字.
  87. *SIM卡的状态必须是SIM_STATE_READY(使用getSimState()判断).
  88. */
  89. tm.getSimOperator();//String
  90. /*
  91. *服务商名称:
  92. *例如:中国移动、联通
  93. *SIM卡的状态必须是SIM_STATE_READY(使用getSimState()判断).
  94. */
  95. tm.getSimOperatorName();//String
  96. /*
  97. *SIM卡的序列号:
  98. *需要权限:READ_PHONE_STATE
  99. */
  100. tm.getSimSerialNumber();//String
  101. /*
  102. *SIM的状态信息:
  103. *SIM_STATE_UNKNOWN未知状态0
  104. SIM_STATE_ABSENT没插卡1
  105. SIM_STATE_PIN_REQUIRED锁定状态,需要用户的PIN码解锁2
  106. SIM_STATE_PUK_REQUIRED锁定状态,需要用户的PUK码解锁3
  107. SIM_STATE_NETWORK_LOCKED锁定状态,需要网络的PIN码解锁4
  108. SIM_STATE_READY就绪状态5
  109. */
  110. tm.getSimState();//int
  111. /*
  112. *唯一的用户ID:
  113. *例如:IMSI(国际移动用户识别码)foraGSMphone.
  114. *需要权限:READ_PHONE_STATE
  115. */
  116. tm.getSubscriberId();//String
  117. /*
  118. *取得和语音邮件相关的标签,即为识别符
  119. *需要权限:READ_PHONE_STATE
  120. */
  121. tm.getVoiceMailAlphaTag();//String
  122. /*
  123. *获取语音邮件号码:
  124. *需要权限:READ_PHONE_STATE
  125. */
  126. tm.getVoiceMailNumber();//String
  127. /*
  128. *ICC卡是否存在
  129. */
  130. tm.hasIccCard();//boolean
  131. /*
  132. *是否漫游:
  133. *(在GSM用途下)
  134. */
  135. tm.isNetworkRoaming();//
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值