Android - 应用程序安装的唯一 ID

Pau*_*iar 6 android

是否有一个应用程序安装时唯一可用的 ID?

我的意思是跨设备唯一,所以如果同一个应用程序安装在 10 个不同的设备上,那么就会有 10 个不同的 id。同一设备上的两个不同应用程序必须提供两个不同的 ID。

需要在应用程序更新后保持不变,如果您卸载并重新安装应用程序,最好会发生变化。

出于安全原因,我不想生成 UUID 并将其写入应用程序私有存储中的文件。

alp*_*tis 0

我的解决方案是使用 Android SharedPreferencesBackupHelper 类和 BackupAgentHelper。无需将您的 UUID 存储在应用程序私有存储的文件中(尽管我不确定您的安全限制是什么,因此使用 SharedPreferences 数据库可能不会更好)。该解决方案允许您拥有设备/安装唯一的 ID,并且它将在应用程序卸载和安装后继续存在(我通常认为这是一件好事)。如果您让应用程序在运行时确定是否已重新安装,则该应用程序可以在那时生成新的 UUID。

执行此操作的一种方法是在应用程序的已安装资源包中查找属于 .apk 一部分的指示器文件。如果应用程序看到此文件,则它是新安装:生成/存储 UUID,然后删除该文件(或更改其内容)。后续执行将发现这一点并意识到这不是新安装。

这满足您的需求吗?