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

问题描述 投票:0回答:2

是否存在安装应用程序时唯一可用的 ID?

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

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

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

android
2个回答
0
投票

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

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

这满足您的需求吗?


0
投票

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

还有许多其他机制,例如使用 Settings.SECURE.ANDROID_ID,如此(预广告 ID)博客文章中详述。请注意

ANDROID_ID
上博客文章的评论:

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

© www.soinside.com 2019 - 2024. All rights reserved.