2013-02-15 12 views
9

Attualmente sto utilizzando l'indirizzo MAC come identificativo per un dispositivo Android.Come identificare un dispositivo Android a livello di programmazione?

WifiManager wifiManager = (WifiManager) getSystemService(Context.WIFI_SERVICE); 
WifiInfo wInfo = wifiManager.getConnectionInfo(); 
String mac = wInfo.getMacAddress(); 

Tuttavia, ho trovato il mac è vuota per i dispositivi di alcuni utenti. Sono un po 'confuso perché potrebbe essere vuoto.

Se riesci a capire il motivo, questo è il migliore!

In caso contrario, è possibile fornire un'alternativa per l'identificazione di un dispositivo Android?

+0

Perché vuoi farlo? – iTech

+0

@iTech viene utilizzato per la memorizzazione dei dati di ciascun utente in un database. – JackWM

+0

Che dire invece di ottenere l'account utente Android? e-mail' È più stabile, se l'uso ha venduto il suo telefono e ne ha ricevuto uno nuovo, sarà comunque possibile identificare – iTech

risposta

3

La soluzione migliore per trovare qualcosa di unico sul dispositivo Android sarebbe quella di accedere al suo numero di serie. Ci sono diversi altri messaggi su come fare questo, ma quello più visto è qui:

How to find serial number of Android device?

10

È possibile identificare qualsiasi cellulare Android unicamente sulla base di imei.

TelephonyManager telephonyManager = (TelephonyManager)getSystemService(Context.TELEPHONY_SERVICE); 
telephonyManager.getDeviceId(); 

aggiungere l'autorizzazione nel vostro AndroidManifest.xml:

<uses-permission android:name="android.permission.READ_PHONE_STATE"/> 

In emulatore, probabilmente otterrete un come un 0000 ... di valore. Controllalo sul dispositivo per ottenere l'ID del dispositivo.

+4

I dispositivi che non sono telefoni non avranno un numero IMEI univoco. – CommonsWare

Problemi correlati