java - Android Id 及其可靠性

标签 java android security encryption uuid

我想为我的应用程序生成 Uuid,因此我尝试了很多方法。

1) 使用 android.os.Build.SERIAL 获取设备的序列号(这将返回“未知”结果)

2)处理设备ID(我不知道如果是平板设备它会返回什么)

3)使用android.provider.Settings.Secure.ANDROID_ID获取Android id(android 2.2版本似乎有些问题)

4) 使用java.util.UUID生成Uuid

5)使用android.os.Build属性生成伪Uuid

所有这些方法都显示出一些问题。所以我很困惑该选择哪个?有人可以建议我最好的方法吗?

Android Developer Blog说 android id 将是唯一的

此外,我听说设备的 Android ID 可以在恢复出厂设置或操作系统更新时更改。

那么在恢复出厂设置或操作系统更新期间是否有可能重复生成新的 Android ID?

注意:假设一个条件

我的问题是,同一制造商的同一 2 个设备型号将进行恢复或操作系统更新,会发生什么情况。Android ID 将发生变化。我想问一下这个新的ID。两个设备中的 android id 是否有可能相同?

最佳答案

每次初始化设备(重置后等)时都会生成ANDROID_ID。它不依赖于型号、序列号等。即使您有两个相同的设备,重置后它们的 ANDROID_ID 也应该不同。该 ID 并不是特别特殊,只是它对于设备来说是全局的。您可以使用应用程序的 UUID 实现同样的效果。

关于java - Android Id 及其可靠性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13948009/

相关文章:

android - fitSystemWindows 永远不会被调用

security - 获取钥匙串(keychain)项的属性

java - java中restful webservices中防止XSS的方法

php - 如何使用公钥和私钥保护小型php API

java - Spring AMQP 处理已删除的队列

java - 如何将消息从 Javascript 发送到 Java?

java - 如何暂停正在运行的线程并在需要时重新启动同一线程?

java - EHCache 对原始元素的更改

android - Kotlin 中的枚举注解类型

android - Swarm App Android - 操作栏