我希望为我的库使用唯一标识符,因为同一个手机中的多个应用程序可以利用相同的唯一ID。例如,安卓手机A - 可以在手机A上有3个应用程序,所有3个应用程序都集成了同一个库,因此所有3个应用程序必须使用相同的ID来将其识别为1个设备,而不是具有3个不同的ID。另外,该应用程序可以从3个不同的构建机器发布,并且应用包名称可能并不总是已知。
- 我尝试过使用广告 ID,但不是所有手机都支持,有些手机可以访问,而有些手机则无法检索。
- IMEI - 需要额外的权限,并且在android 10之后不可用,因为大多数结果都是空字符串
- 我尝试过 Android ID,它是唯一的,但如果您有2个不同的构建机器用于不同或相同的apk,则它将分配2个不同的Android ID,而不是1个。
- 尝试了 Shared preferance、Broadcast reciver、Content Provider 和 File R&W 方法来创建自己的唯一标识符,但它们都无法实现。
- 对于广播接收器,两个应用程序需要同时处于活动状态才能共享信息
- 对于内容提供程序,只能有1个相同名称的内容提供程序,如果特定应用程序创建了内容提供程序,则删除该应用程序,内容提供程序也将被删除。
- 共享首选项需要为其他应用程序提供包名称,并且不支持读取模式。它不适用于库软件包名称,而是需要应用程序包名称。
- 文件 R&W - 有些手机可以正常工作,有些则不行,有时即使删除文件,它仍然显示文件存在,一些制造商手机不允许从公共目录中读取。
测试过的设备: 三星 - Android 9、10和11 小米- Android 9、10和11 华为- Android 9和10