`
mpqi
  • 浏览: 77996 次
  • 性别: Icon_minigender_2
  • 来自: 成都
社区版块
存档分类
最新评论

Android 解析IMEI

阅读更多

本文引自:Android 解析imei http://www.apkbus.com/android-15942-1-1.html 

 

java 代码 :

 

import android.app.Activity; 
import android.os.Bundle; 
import android.telephony.CellLocation; 
import android.telephony.PhoneStateListener; 
import android.telephony.TelephonyManager; 


public class TelManager extends Activity { 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
super .onCreate(savedInstanceState); 
TelephonyManager tm = (TelephonyManager) this .getSystemService(TELEPHONY_SERVICE); 
/* 
* 电话状态: 
* 1.tm.CALL_STATE_IDLE=0 无活动 
* 2.tm.CALL_STATE_RINGING=1 响铃 
* 3.tm.CALL_STATE_OFFHOOK=2 摘机 
*/ 
tm.getCallState();//int 
/* 
* 电话方位: 
* 
*/ 
tm.getCellLocation();//CellLocation 
/* 
* 唯一的设备ID: 
* GSM手机的 IMEI 和 CDMA手机的 MEID. 
* Return null if device ID is not available. 
*/ 
tm.getDeviceId();//String 
/* 
* 设备的软件版本号: 
* 例如:the IMEI/SV(software version) for GSM phones. 
* Return null if the software version is not available. 
*/ 
tm.getDeviceSoftwareVersion();//String 
/* 
* 手机号: 
* GSM手机的 MSISDN. 
* Return null if it is unavailable. 
*/ 
tm.getLine1Number();//String 
/* 
* 附近的电话的信息: 
* 类型:List<NeighboringCellInfo> 
* 需要权限:android.Manifest.permission#ACCESS_COARSE_UPDATES 
*/ 
tm.getNeighboringCellInfo();//List<NeighboringCellInfo> 
/* 
* 获取ISO标准的国家码,即国际长途区号。 
* 注意:仅当用户已在网络注册后有效。 
* 在CDMA网络中结果也许不可靠。 
*/ 
tm.getNetworkCountryIso();//String 
/* 
* MCC+MNC(mobile country code + mobile network code) 
* 注意:仅当用户已在网络注册时有效。 
* 在CDMA网络中结果也许不可靠。 
*/ 
tm.getNetworkOperator();//String 
/* 
* 按照字母次序的current registered operator(当前已注册的用户)的名字 
* 注意:仅当用户已在网络注册时有效。 
* 在CDMA网络中结果也许不可靠。 
*/ 
tm.getNetworkOperatorName();//String 
/* 
* 当前使用的网络类型: 
* 例如: NETWORK_TYPE_UNKNOWN 网络类型未知 0 
NETWORK_TYPE_GPRS GPRS网络 1 
NETWORK_TYPE_EDGE EDGE网络 2 
NETWORK_TYPE_UMTS UMTS网络 3 
NETWORK_TYPE_HSDPA HSDPA网络 8 
NETWORK_TYPE_HSUPA HSUPA网络 9 
NETWORK_TYPE_HSPA HSPA网络 10 
NETWORK_TYPE_CDMA CDMA网络,IS95A 或 IS95B. 4 
NETWORK_TYPE_EVDO_0 EVDO网络, revision 0. 5 
NETWORK_TYPE_EVDO_A EVDO网络, revision A. 6 
NETWORK_TYPE_1xRTT 1xRTT网络 7 
*/ 
tm.getNetworkType();//int 
/* 
* 手机类型: 
* 例如: PHONE_TYPE_NONE 无信号 
PHONE_TYPE_GSM GSM信号 
PHONE_TYPE_CDMA CDMA信号 
*/ 
tm.getPhoneType();//int 
/* 
* Returns the ISO country code equivalent for the SIM provider's country code. 
* 获取ISO国家码,相当于提供SIM卡的国家码。 
* 
*/ 
tm.getSimCountryIso();//String 
/* 
* Returns the MCC+MNC (mobile country code + mobile network code) of the provider of the SIM. 5 or 6 decimal digits. 
* 获取SIM卡提供的移动国家码和移动网络码.5或6位的十进制数字. 
* SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). 
*/ 
tm.getSimOperator();//String 
/* 
* 服务商名称: 
* 例如:中国移动、联通 
* SIM卡的状态必须是 SIM_STATE_READY(使用getSimState()判断). 
*/ 
tm.getSimOperatorName();//String 
/* 
* SIM卡的序列号: 
* 需要权限:READ_PHONE_STATE 
*/ 
tm.getSimSerialNumber();//String 
/* 
* SIM的状态信息: 
* SIM_STATE_UNKNOWN 未知状态 0 
SIM_STATE_ABSENT 没插卡 1 
SIM_STATE_PIN_REQUIRED 锁定状态,需要用户的PIN码解锁 2 
SIM_STATE_PUK_REQUIRED 锁定状态,需要用户的PUK码解锁 3 
SIM_STATE_NETWORK_LOCKED 锁定状态,需要网络的PIN码解锁 4 
SIM_STATE_READY 就绪状态 5 
*/ 
tm.getSimState();//int 
/* 
* 唯一的用户ID: 
* 例如:IMSI(国际移动用户识别码) for a GSM phone. 
* 需要权限:READ_PHONE_STATE 
*/ 
tm.getSubscriberId();//String 
/* 
* 取得和语音邮件相关的标签,即为识别符 
* 需要权限:READ_PHONE_STATE 
*/ 
tm.getVoiceMailAlphaTag();//String 
/* 
* 获取语音邮件号码: 
* 需要权限:READ_PHONE_STATE 
*/ 
tm.getVoiceMailNumber();//String 
/* 
* ICC卡是否存在 
*/ 
tm.hasIccCard();//boolean 
/* 
* 是否漫游: 
* (在GSM用途下) 
*/ 
tm.isNetworkRoaming();// 
} 
}

 

 

在manifest.xml 权限 :


 

<uses-permission android:name="android.permission.READ_PHONE_STATE" />

 

 

 

分享到:
评论

相关推荐

    Android 读取IMSI 和IMEI号支持双卡双待

    在Android系统中,IMSI(International Mobile Subscriber Identity)和IMEI(International Mobile Equipment Identity)是两个重要的标识符,用于区分不同的移动设备和用户。本文将深入探讨如何在Android平台上...

    android与PC通过USB通信,获取IMEI号

    在Android系统中,IMEI(International Mobile Equipment Identity)是设备的唯一标识符,通常用于识别和追踪移动设备。本文将详细介绍如何在没有root权限的情况下,通过USB连接使Android设备与PC进行通信,以获取...

    在JNI中得到手机IMEI号

    ### 在JNI中获取Android设备IMEI号的方法 #### 背景介绍 在移动应用开发过程中,有时我们需要获取Android设备的一些基本信息,例如IMEI(International Mobile Equipment Identity)号,这是一串由15位数字组成的...

    Y.rar_IMEI_write imei

    你需要对固件升级流程有深入的理解,包括如何解析固件文件、提取IMEI相关部分、修改IMEI值,然后将修改后的固件重新烧录到设备中。这可能需要使用十六进制编辑器、专用的固件工具或编程语言(如C/C++)进行操作。 ...

    Android的Telephony框架

    RILD主要处理AT命令的解析和响应,这部分代码通常位于系统源码的`frameworks/base/services/core/java/com/android/internal/telephony`目录下。通过阅读源码,可以学习如何与硬件层交互,以及处理各种网络事件。 8...

    android telephony

    Android Telephony的核心类是`TelephonyManager`,它提供了一系列方法来获取设备的电话状态信息,如SIM卡信息、网络类型、运营商信息、IMEI(国际移动设备识别码)等。开发者可以通过`getSystemService(Context....

    Android应用源码之Provision.zip

    以下将详细解析这个主题中的关键知识点。 1. **Android应用生命周期**:在Android中,每个应用都有其特定的生命周期,从创建到销毁,涉及一系列的回调方法,如onCreate(), onStart(), onResume()等。在Provision...

    华为手机查询S/N码、IMEI码、产品识别码工具 解锁工具

    本文将详细解析标题和描述中提及的知识点,并提供与压缩包文件内容相关的实用信息。 首先,我们要理解“S/N码”(Serial Number,序列号)、“IMEI码”(International Mobile Equipment Identity,国际移动设备...

    非常好用的手机写IMEI号工具源代码

    1. 兼容性广泛:可能支持多种品牌和型号的手机,包括Android和iOS等主流系统。 2. 易于使用:界面友好,操作流程简单,即便是非技术背景的用户也能快速上手。 3. 安全性:在写入IMEI时,应确保不会对手机的其他数据...

    android 获取mac地址源码

    以下是对Android获取MAC地址源码的详细解析。 首先,我们需要了解在不同Android版本下的获取方法: 1. **Android 5.1 (API级别22)及更低版本**: 在这些早期版本中,可以通过`WifiManager`的`getMacAddress()`方法...

    Delphi dcu's_delphi_IMEI_samsung_

    7. **跨平台兼容性**:尽管Samsung设备主要运行Android系统,但考虑到Delphi支持跨平台开发,可能探讨如何将IMEI相关的功能移植到其他操作系统。 8. **软件安全和隐私保护**:讨论如何在处理IMEI数据时遵循GDPR...

    获取手机IMEI号,sim卡的IMSI号C#源码

    这段代码在Android环境中运行,通过`GetDeviceId()`方法获取IMEI号。 另一方面,IMSI号的获取相对复杂,因为出于隐私考虑,操作系统通常不允许直接访问IMSI。在某些情况下,可以利用TAPI库来间接获取。`TapiLib.dll...

    Android Crash反馈到服务器

    7. **错误分析与修复**: 服务器端收集到Crash报告后,开发团队可以使用分析工具(如Sentry、Fabric等)或自建的分析系统来解析日志,定位问题原因,然后在代码中修复相应的bug。 8. **版本更新**: 修复后的代码需要...

    Android基于MQTT协议的长连接demo

    客户端ID应该是唯一的,通常可以使用设备的IMEI号。接着,调用connect方法尝试连接服务器。这里需要处理连接失败的情况,通过设置回调监听器,当连接失败时,可以启动定时任务进行重试连接。 2. **断线自动重连**:...

    Android应用通话记录_安卓源码.zip

    对于联系人解析,Android系统提供ContactsContract类,可以与联系人应用同步,获取或设置联系人的详细信息。如果电话号码没有匹配的联系人,应用可能需要使用NameResolver服务来查找联系人名称。 最后,考虑到隐私...

    Android-Android开发人员不得不收集的代码

    3. **日期时间处理**:提供了日期和时间的格式化、比较、解析等操作,使得时间相关的处理变得简单易行。这对于需要展示或处理时间信息的应用来说非常有用。 4. **文件操作**:包含文件读写、文件夹管理、文件类型...

    Android小工具

    6. **设备信息获取**:获取手机硬件信息,如IMEI、MAC地址、屏幕尺寸等,方便开发过程中的设备识别或适配。 7. **数据存储**:提供SQLite数据库操作,或者SharedPreferences的简单封装,简化数据持久化工作。 8. *...

    Android应用源码获取手机信息.zip源码资源下载

    在Android应用开发中,获取手机信息是常见的需求,例如设备型号、IMEI、MAC地址、运营商信息等。这个源码资源“Android应用源码获取手机信息.zip”显然提供了实现这一功能的示例代码。让我们详细探讨一下这个话题。 ...

    Android 开发常用代码片段

    1. **TelephonyManager:** 用于获取有关电话服务的信息,如IMEI、IMSI和手机号码等。 2. **getSystemService():** 获取系统服务实例,此处为获取电话服务。 3. **getLine1Number():** 返回SIM卡上的主电话号码。 ...

    android 短信验证码实现(使用云之讯平台)

    - `READ_PHONE_STATE`:获取手机IMEI,用作设备标识。 - `ACCESS_FINE_LOCATION`:某些情况下,云之讯可能需要定位信息。 5. **初始化SDK** 在应用启动时,使用AppID和AppKey初始化云之讯SDK,代码如下: ```...

Global site tag (gtag.js) - Google Analytics