我正在使用Android应用程序,并在使用null
时获取TelophonyManager
IMEI号码。这在几部华为手机上都有发生。 (所有这些都是Ascend Y530s)。
这些手机都有SIM卡,否则似乎正常运行。我的印象是只有破损的手机会返回null
IMEI。显然情况并非如此......
问题。这个IMEI号究竟是什么 - 即它存储在设备上的哪个位置?当看似精美的手机将其值恢复为null
时,这意味着什么?
修改
我应该提到IMEI号并不总是null
。它大约有一半的时间似乎是有效的(虽然这很难衡量,因为我们有5部电话返回空IMEI号\ 有时)
答案 0 :(得分:5)
在您发表评论后,为了获得调查应用的唯一设备ID,我建议您使用Settings.Secure.ANDROID_ID
作为您的唯一ID。
String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
或者您可以同时使用
public String getUniqueID(){
String myAndroidDeviceId = "";
TelephonyManager mTelephony = (TelephonyManager) getSystemService(Context.TELEPHONY_SERVICE);
if (mTelephony.getDeviceId() != null){
myAndroidDeviceId = mTelephony.getDeviceId();
}else{
myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID);
}
return myAndroidDeviceId;
}