Android デバイスを一意に識別する必要があります。ANDROID_ID について読みましたが、Android 2.2 に問題があるようです。次に、TelephonyManager に関連する他の識別子がありますが、タブレットでは機能しないと思います。
そこで、すべてのデバイスで動作するものを探していたところ、GSF ID KEY (Google サービス フレームワーク ID) を見つけました。これは信頼性が高く、常に機能するソリューションだと思いますか? これは、GSF ID KEY を取得するために見つけたコードです。
private static String getGsfAndroidId(Context context)
{
Uri URI = Uri.parse("content://com.google.android.gsf.gservices");
String ID_KEY = "android_id";
String params[] = {ID_KEY};
Cursor c = context.getContentResolver().query(URI, null, null, params, null);
if (!c.moveToFirst() || c.getColumnCount() < 2)
return null;
try
{
return Long.toHexString(Long.parseLong(c.getString(1)));
}
catch (NumberFormatException e)
{
return null;
}
}