为了唯一地标识每个设备,我想使用IMEI (或用于CDMA设备的ESN编号)。如何以编程方式访问它?
发布于 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。
发布于 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;
}
发布于 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将为空。
https://stackoverflow.com/questions/1972381
复制相似问题