首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在android中以编程方式获取设备的IMEI/ESN?

如何在android中以编程方式获取设备的IMEI/ESN?
EN

Stack Overflow用户
提问于 2009-12-29 08:52:24
回答 14查看 544.1K关注 0票数 366

为了唯一地标识每个设备,我想使用IMEI (或用于CDMA设备的ESN编号)。如何以编程方式访问它?

EN

回答 14

Stack Overflow用户

发布于 2010-06-10 03:45:00

除了Trevor Johns的答案之外,您还可以按如下方式使用:

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
telephonyManager.getDeviceId();

并且您应该将以下权限添加到Manifest.xml文件中:

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

在模拟器中,你可能会得到一个"00000...“价值。如果设备ID不可用,则getDeviceId()返回NULL。

票数 289
EN

Stack Overflow用户

发布于 2013-04-15 20:58:55

当设备没有电话功能时,我使用以下代码来获取IMEI或使用Secure.ANDROID_ID作为替代方案:

/**
 * Returns the unique identifier for the device
 *
 * @return unique identifier for the device
 */
public String getDeviceIMEI() {
    String deviceUniqueIdentifier = null;
    TelephonyManager tm = (TelephonyManager) this.getSystemService(Context.TELEPHONY_SERVICE);
    if (null != tm) {
        deviceUniqueIdentifier = tm.getDeviceId();
    }
    if (null == deviceUniqueIdentifier || 0 == deviceUniqueIdentifier.length()) {
        deviceUniqueIdentifier = Settings.Secure.getString(this.getContentResolver(), Settings.Secure.ANDROID_ID);
    }
    return deviceUniqueIdentifier;
}
票数 64
EN

Stack Overflow用户

发布于 2012-04-29 01:32:30

来自:http://mytechead.wordpress.com/2011/08/28/how-to-get-imei-number-of-android-device/

以下代码帮助您获取android设备的IMEI数量:

TelephonyManager tm = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE);
String device_id = tm.getDeviceId();

Android Manifest中需要的权限:

android.permission.READ_PHONE_STATE

注意:对于不能充当手机的平板电脑或设备,IMEI将为空。

票数 35
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1972381

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档