`
endual
  • 浏览: 3573199 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Android中获取IMEI码

 
阅读更多

 

 


 

 

废话不多说了,看代码!

 

 

代码主要有两部分,一是Java代码,另一个则是Manifest.xml中的权限。

先看Java代码:

[java] view plaincopy
  1. //获取IMEI码  
  2. TelephonyManager telephonyManager = (TelephonyManager) this  
  3.   .getSystemService(Context.TELEPHONY_SERVICE);  
  4. String IMEI = telephonyManager.getDeviceId();  
  5. //将获取到的IMEI码打印  
  6. System.out.println("IMEI:" + IMEI);我们设定字符串IMEI,最后打印字符串,就能看到IMEI码了。  

 

其次是Manifest.xml中权限:

[java] view plaincopy
  1. <uses-permission android:name="android.permission.READ_PHONE_STATE" />  

 

 

内容不多,但很有用! 

友情提示,虚拟机没有IMEI码,但他也赋值了——一堆0!

 

 

 

 

 

 

Android中获取IMEI码

分类: Android 811人阅读 评论(1) 收藏 举报

好友zxh_wolfe

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

 

暂时还没有真机,

希望应该可以~~~

 

下面是摘自网络:

 

[java] view plaincopy
  1. /** 
  2. * 
  3. *@author dingran 
  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.   

 

分享到:
评论

相关推荐

    android获取IMEI号码 手机版本信息

    下面将详细解释如何在Android中获取IMEI号码以及获取手机版本信息的方法。 1. 获取IMEI号码 在Android中,我们可以通过`TelephonyManager`类来获取IMEI号码。首先,需要在AndroidManifest.xml文件中添加以下权限: ...

    Android中获取IMEI码的方法

    1.加入权限在manifest.xml文件中要添加 &lt;uses android:name=”android.permission.READ_PHONE_STATE”&gt;2.代码 代码如下:package net.sunniwell.app; import android.app.Activity; import android.os.Bundle; ...

    【Android】获取IMEI码

    以上就是关于Android获取IMEI码的相关知识点,包括使用`TelephonyManager`类获取IMEI,处理权限问题,兼容无SIM卡和多SIM卡设备的情况,以及隐私合规性。在实际开发中,根据具体需求和设备情况灵活运用这些方法。

    android获取IMEI号

    ### Android获取IMEI号:详解TelephonyManager类与设备识别码 在Android开发中,获取设备的唯一识别码(如IMEI号)是一项常见的需求,主要用于设备标识、数据分析或安全验证等场景。IMEI(International Mobile ...

    获取IMEI号码

    在Android系统中,获取IMEI号码通常用于设备的身份验证、跟踪丢失设备或为用户提供个性化服务。以下是如何在Android应用中获取IMEI号码的详细步骤和相关知识点: 1. **权限申请**: 在AndroidManifest.xml文件中,...

    如何在 Android 手机中刷新 IMEI 号码

    在Android手机中刷新IMEI号码是一项重要的操作,通常在刷入Stock ROM(固件)之后进行,以解决一系列问题,如手机频繁死机、卡在启动界面、需要更新软件或解锁忘记的锁屏图案。IMEI是国际移动设备识别码的缩写,是...

    C# 获取IMEI即获取移动设备手机串号手机编码号源代码

    在C#编程环境中,如果你需要在Windows Phone、Android或iOS等平台上获取IMEI,你需要根据不同的平台实现不同的方法。本篇文章将详细讲解如何在C#中获取IMEI,主要针对Windows Phone和Android平台。 对于Windows ...

    android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    需要注意的是,在 Android 8.0 及更高版本中, SystemProperties.get() 方法已经被废弃,需要使用 TelephonyManager.getDeviceId() 方法来获取 IMEI 号。 3. 获取序列号 Android 设备的序列号可以通过多种方法来...

    获取手机号和IMEI.rar

    在Android中,我们可以通过`TelephonyManager`类来获取IMEI。以下是一个简单的示例: ```java // 获取 TelephonyManager 实例 TelephonyManager telephonyManager = (TelephonyManager) getSystemService(Context....

    获取Android手机或平板唯一识别号(imei或meid).rar

    在Android中,可以使用TelephonyManager类来访问设备的电话相关信息。以下是如何获取IMEI的示例: ```java import android.content.Context; import android.telephony.TelephonyManager; public class DeviceInfo...

    android 获得 imei 例子

    综上所述,Android应用开发中获取IMEI号涉及了权限管理、`TelephonyManager`的使用以及对不同Android版本差异的处理。开发者应谨慎对待IMEI的使用,遵循隐私政策,以确保用户数据的安全。在提供的压缩包文件中,`...

    获取手机IMEI号、手机型号等

    获取手机型号在Android中可通过`Build.MODEL`获取: ```java String model = Build.MODEL; ``` 在iOS中,可以使用`UIDevice.current.model`来获取: ```swift let model = UIDevice.current.model ``` 了解这些...

    Android 获取手机imei值和mac值.zip

    在Android系统中,可以通过以下代码来获取IMEI: ```java import android.content.Context; import android.telephony.TelephonyManager; public class ImeiHelper { public static String getImei(Context ...

    c#获取mobile手机的IMEI和IMSI

    在C#中获取IMEI主要针对Windows Phone和使用Xamarin或.NET MAUI的Android平台,而获取IMSI则涉及更高级别的权限和隐私考虑,一般不推荐直接获取。在实际应用中,应遵循最小权限原则,尊重并保护用户隐私。同时,注意...

    Android设备获取唯一标识码的方法

    在早期的Android版本中,开发者可以通过`TelephonyManager`类的`getDeviceId()`方法获取IMEI。例如: ```java TelephonyManager tm = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE); String ...

    Android代码-SIM卡运营商获取手机号码功能暂时无法实现.zip

    综上所述,获取SIM卡运营商信息在Android中是可行的,但获取手机号码需遵守系统限制和隐私政策,通常需要用户主动提供或通过合法的验证服务获取。在实际开发中,应充分理解这些限制并遵循最佳实践。

    Android获取手机号码

    需要注意的是,从Android 10(API级别29)开始,获取IMEI和其他设备识别号受到了更严格的限制。除非你的应用是默认的电话应用或者具有特定的设备管理器权限,否则可能无法获取这些信息。 此外,获取手机号码的另一...

Global site tag (gtag.js) - Google Analytics