2016-02-02 35 views
6

我正在開發一個Android應用程序,並且在使用TelophonyManager時獲得IMEI號的null。這發生在幾款華爲手機上。 (所有這些都是Ascend Y530s)。TelephonyManager爲IMEI號碼返回空值:什麼會導致此問題?

手機都有SIM卡,否則似乎正常運行。我的印象是,只有一個破損的手機會返回IMEI。很明顯,情況並非如此。

問題。這個IMEI號碼是什麼 - 即它存儲在設備上的什麼地方?當一個看起來不錯的手機返回價值爲null時,這意味着什麼?

編輯

我要指出的IMEI號碼並不總是null。大約有一半的時間似乎是有效的(雖然這是很難衡量,因爲我們有5個手機返回null IMEI號碼\ 有時

+0

你可以請嘗試撥*#06#,並確認手機是否得到了有效的[IMEI](https://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity)號碼? –

+0

這些電話已遠程部署,因此我無法訪問它們。據我瞭解,我們的客戶從未遇到過使用*#06#獲取IMEI號碼的問題? –

+0

請聯繫客戶要求他們爲您確認 –

回答

4

您的評論後,獲得唯一的設備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; 
} 
+0

謝謝。我會明天實施這個:) –

+2

從技術上講,我很想知道這個問題的可能原因是什麼? –

+0

好的......如果有人知道,我們會留下問題。感謝您的幫助 –

相關問題