2016-02-02 13 views
6

Sto lavorando a un'app Android e sto ottenendo null indietro per il numero IMEI quando si utilizza TelophonyManager. Questo sta accadendo su diversi telefoni Huawei. (Tutti sono Ascend Y530s).TelephonyManager restituisce null per il numero IMEI: cosa può causare questo?

I telefoni hanno tutti schede SIM e sembrano funzionare normalmente. Avevo l'impressione che solo un telefono rotto restituisse null IMEI. Chiaramente questo non è il caso ..

Domande. Che cosa è esattamente questo numero IMEI - cioè dove è memorizzato sul dispositivo? E cosa significa quando un telefono apparentemente raffinato restituisce il suo valore come null?

EDIT

devo dire che il numero IMEI non è sempre null. Circa la metà delle volte sembra essere valido (anche se questo è molto difficile da misurare poiché abbiamo 5 telefoni che restituiscono numeri IMEI nulli \ a volte)

+0

per favore potete provare la composizione * # 06 #, e confermare se il telefono ha una valida [IMEI] (https://en.wikipedia.org/wiki/International_Mobile_Station_Equipment_Identity) numero? –

+0

Questi telefoni sono stati distribuiti in remoto, quindi non posso accedervi. Per quanto ho capito, i nostri clienti non hanno mai avuto problemi a ottenere il numero IMEI usando * # 06 #? –

+0

si prega di contattare il cliente per chiedere loro di confermare per voi –

risposta

4

Dopo il tuo commento, per ottenere l'id univoco del dispositivo per l'app di indagine, i suggerirei di utilizzare Settings.Secure.ANDROID_ID come ID univoco.

String myAndroidDeviceId = Secure.getString(getApplicationContext().getContentResolver(), Secure.ANDROID_ID); 

Oppure si può usare sia come

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

Grazie. Lo implementerò domani :) –

+2

Tuttavia, tecnicamente, sono interessato a sapere qual è la possibile causa di questo problema? –

+0

ok ... lascerò la domanda aperta nel caso qualcuno lo sappia. grazie per il tuo aiuto –