2013-02-15 16 views
9

Obecnie używam adresu MAC jako identyfikatora urządzenia z systemem Android.Jak programowo identyfikować urządzenie z Androidem?

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

Jednak znalazłem mac jest pusta dla urządzeń niektórych użytkowników. Jestem nieco zdezorientowany, dlaczego może być pusty.

Jeśli mógłbyś określić przyczynę, to jest najlepsze!

W przeciwnym razie, czy mógłbyś podać alternatywę dla identyfikacji urządzenia z Androidem?

+0

Dlaczego chcesz to zrobić? – iTech

+0

@iTech służy do przechowywania danych użytkownika w bazie danych. – JackWM

+0

A co z otrzymaniem konta użytkownika Android? "e-mail" Jest bardziej stabilny, jeśli wykorzystanie sprzedał jego/jej telefon i dostał nowy, nadal będzie w stanie zidentyfikować, – iTech

Odpowiedz

3

Najlepszym sposobem na znalezienie czegoś unikalnego w urządzeniu z systemem Android jest uzyskanie dostępu do jego numeru seryjnego. Istnieje kilka innych stanowisk, w jaki sposób to zrobić, ale najczęściej oglądane jeden jest tutaj:

How to find serial number of Android device?

10

można zidentyfikować żadnej komórkowych Android jednoznacznie na podstawie imei.

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

Dodaj uprawnienie do swojego AndroidManifest.xml:

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

w emulatorze, prawdopodobnie będziesz dostać jak 0000 ... wartości. Sprawdź to na urządzeniu, aby uzyskać identyfikator urządzenia.

+4

Urządzenia, które nie są telefonami, nie będą miały unikalnego numeru IMEI. – CommonsWare

Powiązane problemy