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

时间:2014-10-02 03:33:12

标签: android

是否有适用于安装应用程序的唯一ID?

我的意思是跨设备的独特,所以如果在10个不同的设备上安装相同的应用程序,则有10个不同的ID。并且同一设备上的两个不同应用必须提供两个不同的ID。

应用更新后需要保持不变,如果您卸载并重新安装该应用,理想情况下会发生变化。

出于安全原因,我不想生成UUID并将其写入app-private存储中的文件。

2 个答案:

答案 0 :(得分:0)

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

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

这是否符合您的需求?

答案 1 :(得分:0)

Google在所有设备/用户中提供Advertising ID作为唯一标识符,适用于所有Google Play设备API 9或更高版本。

还有许多其他机制,例如使用Settings.SECURE.ANDROID_ID中详述的this (pre-advertising ID) blog post。请注意ANDROID_ID上的博客文章中的评论:

  

有一些缺点:首先,它在2.2之前的Android版本(“Froyo”)上并非100%可靠。此外,在主要制造商的流行手机中至少有一个被广泛观察到的错误,其中每个实例都具有相同的ANDROID_ID。