use*_*515 6 android android-identifiers
我需要唯一识别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;
}
}
Run Code Online (Sandbox Code Playgroud)
如果有人想知道这种方法是否有效,答案是肯定的,我试了一下(并在我放在Android市场上有数千次下载的应用程序中使用它)并且它有效.注意:每次用户重置工厂或使用Google服务时,GSF ID KEY都会更改,但这对我的目的来说已经足够了.
| 归档时间: |
|
| 查看次数: |
18723 次 |
| 最近记录: |