我使用以下代码:
Settings.Secure.getString(contentResolver, Settings.Secure.ANDROID_ID)
首先我从我的电脑安装APK调试,
然后我从Play Store安装APK ANDROID_ID返回不同的值
Install APK Debug: a4af9001bcf07f04
Install APK Play Store: 07ef710fb2c3a399
如何解决这个问题?因为它以前从未发生过,我需要它来检查用户是否从同一设备登录的API。
这是显而易见的:
你检查过ANDROID_ID:
文档了吗?在Android 8.0 (API level 26)及更高版本的平台上,a64位数字(表示为十六进制字符串),每个数字唯一应用程序签名密钥、用户和设备的组合。ANDROID_ID的取值的范围由签名密钥和用户确定。如果是工厂,该值可能会改变如果APK签名密钥发生变化,
注意:对于在设备更新到Android 8.0 (API级别26)或更高版本之前安装的应用程序ANDROID_ID更改,如果应用程序被卸载,然后重新安装在OTA之后。在OTA到之后的卸载中保留值Android 8.0或更高版本,开发者可以使用Key/Value Backup。
这是因为unique to each combination of app-signing key, user, and device
https://developer.android.com/reference/android/provider/Settings.Secure ANDROID_ID .
在你的情况下,debug和playstore可能有不同的签名密钥,这就是为什么不同的标识符。