【问题标题】:Setting.Secure ANDROID_ID is return different Value when using different APKSetting.Secure ANDROID_ID 在使用不同的 APK 时返回不同的值
【发布时间】:2021-02-27 06:17:28
【问题描述】:

我使用这个代码:

Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID)

首先我从我的电脑上安装 APK 调试器,

然后我从 Play 商店安装 APK ANDROID_ID 返回不同的值

Install APK Debug: a4af9001bcf07f04
Install APK Play Store: 07ef710fb2c3a399

我该如何解决这个问题?因为它以前从未发生过,我需要它来检查 API 是否用户从同一设备登录。

【问题讨论】:

    标签: java android firebase android-studio kotlin


    【解决方案1】:

    这很明显:

    你检查过ANDROID_ID的文档吗:

    在 Android 8.0(API 级别 26)及更高版本的平台上, 64 位数字(表示为十六进制字符串),每个数字都是唯一的 应用签名密钥、用户和设备的组合。 ANDROID_ID 的值 由签名密钥和用户限定。如果工厂,该值可能会改变 在设备上或 APK 签名密钥更改时执行重置。

    注意:对于在将设备更新到 Android 8.0(API 级别 26)或更高版本之前安装的应用程序,值 如果应用程序被卸载然后重新安装,ANDROID_ID 会发生变化 OTA之后。在 OTA 之后的卸载过程中保留值 Android 8.0 或更高版本,开发者可以使用 Key/Value Backup。

    【讨论】:

      【解决方案2】:

      那是因为unique to each combination of app-signing key, user, and device https://developer.android.com/reference/android/provider/Settings.Secure#ANDROID_ID.

      在您的情况下,调试和 playstore 可能具有不同的签名密钥,这就是标识符不同的原因。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-05-05
        • 2022-12-02
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多