我需要唯一地识别一个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;
}
}