Android:App ID上的Android ID更改。取而代之的是什么?

时间:2016-02-03 14:58:30

标签: android android-identifiers

我使用以下代码获取android id:

DeviceID = Secure.getString(this.getContentResolver(),
                    Secure.ANDROID_ID);

但它会在每次更新时发生变化。获取它是错误的方法还是我可以使用任何不同的东西,每次都不会改变并保持对同一设备的独特性?

3 个答案:

答案 0 :(得分:0)

通常不鼓励仅链接答案,但在这种情况下我没有看到替代方案,因为该文章非常深入并涉及各种不同的API级别。

请参阅文档以了解处理此问题的正确方法(根据Google):

http://developer.android.com/training/articles/user-data-ids.html

答案 1 :(得分:-2)

请改用hardwareID,不应该改变那么多......

以下是试用的代码:

/**
 * Returns the embedded <i>hardwareID</i>
 * @param context which {@link Context} to use
 * @return the hardwareID
 */
public static String getHardwareId(Context context) {
    return Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
}

答案 2 :(得分:-2)

不幸的是,没有任何东西符合您的要求。

说到Android设备的唯一标识符,有很多不同的选项,但它们都不是100%的保证。而且,大部分需要用户请求令人讨厌的权限。

我可以提出两个选择:

  1. 使用Google广告ID - 每个设备都是唯一的,只有在用户手动重置时才会更改。提取它不需要其他权限。
  2. 您可以自己为每台设备生成一个唯一密钥(使用类似UUID的东西)并将其存储在设备上(共享的首选项,文件,数据库......)。