对于IMEI号,TelephonyManager返回null:可能导致此问题的原因是什么?

时间:2016-02-02 15:28:22

标签: android telephonymanager imei

我正在使用Android应用程序,并在使用null时获取TelophonyManager IMEI号码。这在几部华为手机上都有发生。 (所有这些都是Ascend Y530s)。

这些手机都有SIM卡,否则似乎正常运行。我的印象是只有破损的手机会返回null IMEI。显然情况并非如此......

问题。这个IMEI号究竟是什么 - 即它存储在设备上的哪个位置?当看似精美的手机将其值恢复为null时,这意味着什么?

修改

我应该提到IMEI号并不总是null。它大约有一半的时间似乎是有效的(虽然这很难衡量,因为我们有5部电话返回空IMEI号\ 有时

1 个答案:

答案 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;
}