我需要唯一标识一个 Android 设备。我阅读了有关 ANDROID_ID 的信息,但 Android 2.2 似乎存在问题。还有其他与 TelephonyManager 相关的标识符,但我认为它们不适用于平板电脑。
所以,寻找在我偶然发现的 GSF ID KEY(谷歌服务框架 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;
}
}