2012-02-29 2 views
0

내 Samsung Galaxy Tab GT-P1010의 device_id를 가져 오려고하면 Null 값이 반환됩니다. 내 데이터베이스에서 고유 한 장치를 식별하기 위해 device_id를 사용하고 있습니다.Android : 삼성 Galaxy 탭에서 고유 한 Device_id를 가져 오지 못함

나는이에 대해 다음 코드를 사용하고 있습니다 : 여기

String device_id; 

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

device_id = telephonyManager.getDeviceId(); 

나는에 대한 문자열 DEVICE_ID 널 (null)이 ..이 코드가 작동 잘 받고 있어요 내 다른 모든 장치, HTC, LG, 구글 NExxus ICS 등

최대한 빨리 해결해주세요.

감사합니다, 제이 파텔

답변

2

귀하의 요구 사항이 장치의 고유 한 식별을 생성하는 유일한 경우에는 아래의 코드를 사용할 수 있습니다

UUID id=UUID.randomUUID(); 

//store this in shared pref  
String device_id=id.toString(); 

//later fetch it from share pref 
UUID Id=UUID.fromString(device_id); 

이는 것을 보장 RFC4122

+0

위대한 친구! 내 솔루션을 찾았습니다. –

1

getDeviceId() 장치의 SIM 카드에 연결되는 장치의 IMEI 또는 MEID 반환합니다. Galaxy Tab은 Wi-Fi 전용 기기이며 SIM 카드가없는 것 같습니다. 그것이 당신에게 유효한 장치 ID를 제공하지 않는 이유입니다.

유감스럽게도 Wi-Fi 전용 기기에서 기기 ID를 가져 오는 방법은 없습니다. 값이 getDeviceId() 인 경우 ANDROID_ID 또는 다른 ID를 사용하는 것이 좋습니다.

+0

에 따라 장치를 인식하는 표준 방법입니다을 Android ID는 고유 식별자입니다. ?? –

+0

ANDROID_ID에 문제가 있습니다. 즉, 기기 초기화에서 재설정 할 수 있으며 Android 2.2 이전 버전에서는 신뢰할 수 없습니다. http://android-developers.blogspot.com/2011/03/identifying-app-installations.html 다른 가능한 식별자는 MAC 주소 또는 하드웨어 직렬이지만이 두 가지 모두 잠재적 인 문제가 있습니다. – triad

관련 문제