2013-02-15 3 views
9

현재 Android 기기의 식별자로 MAC 주소를 사용하고 있습니다.Android 디바이스를 프로그래밍 방식으로 식별하는 방법은 무엇입니까?

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

그러나, 나는 mac 일부 사용자의 장치에 대한 비어 발견했다. 나는 그것이 왜 비어있을 수 있는지 약간 혼란 스럽다.

이유를 파악할 수 있다면 그게 최선입니다!

그렇지 않으면 Android 기기를 식별 할 수있는 대안을 제공해 줄 수 있습니까?

+0

왜 이것을하고 싶습니까? – iTech

+0

@iTech 사용자의 데이터를 데이터베이스에 저장하는 데 사용됩니다. – JackWM

+0

대신 사용자 android 계정을 얻으려면 어떻게해야합니까? 즉 '이메일' 사용중인 휴대 전화가 새 것으로 바뀌면 더 안정적입니다. 프로그래밍 방식으로 얻으려면 – iTech

답변

3

Android 기기에 대한 고유 한 항목을 찾는 것이 가장 좋은 방법은 일련 번호에 액세스하는 것입니다. 이이 작업을 수행하는 방법에 대한 몇 가지 다른 게시물이 있지만, 가장 많이 본 사람은 여기에 있습니다 :

How to find serial number of Android device?

10

당신은 imei의 기준으로 유일하게 모든 안드로이드 모바일을 식별 할 수 있습니다.

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

당신의 AndroidManifest.xml에 권한을 추가

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

에뮬레이터에서, 당신은 아마 0000 ... 값 같은를 얻을 수 있습니다. 장치 ID를 확인하려면 장치에서 확인하십시오.

+4

휴대 전화가 아닌 기기에는 고유 한 IMEI 번호가 없습니다. – CommonsWare

관련 문제