2012-02-29 10 views
0

Samsung Galaxy Tab GT-P1010のdevice_idを取得しようとすると、null値が返されます。私は自分のデータベース内のユニークなデバイスを識別するためにdevice_idを使用しています。Android:Samsung Galaxyタブで一意のDevice_idを取得しない

私は、このために以下のコードを使用しています:

String device_id; 

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

device_id = telephonyManager.getDeviceId(); 

ここで私はこのコードは、私の他のすべてのデバイス、HTC、LG、GoogleのNExxus ICSなどのために正常に動作します。..文字列DEVICE_IDヌルを取得しています。..

できるだけ早く私にそれのためのソリューションを提供してください。

おかげで、 ジェイ・パテル

答えて

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()ためnull値を取得する場合、私は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

関連する問題