TelephonyManager returns IMEI 号码为空:是什么原因造成的?
TelephonyManager returns null for IMEI number: what can cause this?
我正在开发一个 Android 应用程序,并且在使用 TelophonyManager
时得到 null
IMEI 号码。这发生在几个华为 phones 上。 (都是升腾Y530)
phone 都有 sim 卡,其他方面似乎都正常运行。我的印象是只有损坏的 phone 才会 return null
IMEI。显然不是这样的..
问题。这个 IMEI 号码到底是什么 - 即它存储在设备上的什么位置?当一个看似不错的 phone return 的值是 null
是什么意思?
编辑
我应该提一下,IMEI 号码并不总是 null
。大约一半的时间它似乎是有效的(尽管这很难衡量,因为我们有 5 phones returning 空 IMEI 号码\ 有时)
在您发表评论后,为了获得调查应用程序的唯一设备 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;
}
我正在开发一个 Android 应用程序,并且在使用 TelophonyManager
时得到 null
IMEI 号码。这发生在几个华为 phones 上。 (都是升腾Y530)
phone 都有 sim 卡,其他方面似乎都正常运行。我的印象是只有损坏的 phone 才会 return null
IMEI。显然不是这样的..
问题。这个 IMEI 号码到底是什么 - 即它存储在设备上的什么位置?当一个看似不错的 phone return 的值是 null
是什么意思?
编辑
我应该提一下,IMEI 号码并不总是 null
。大约一半的时间它似乎是有效的(尽管这很难衡量,因为我们有 5 phones returning 空 IMEI 号码\ 有时)
在您发表评论后,为了获得调查应用程序的唯一设备 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;
}