gpt4 book ai didi

android - Android 设备的唯一标识符 - 不可用

转载 作者:行者123 更新时间:2023-12-04 23:56:52 28 4
gpt4 key购买 nike

我想为我的图书馆使用唯一标识符,因为同一部手机中的多个应用程序可以使用相同的唯一 ID。例如 Android 手机 A - 手机 A 中可以有 3 个应用程序,所有 3 个应用程序都集成了相同的库,因此所有 3 个应用程序必须使用相同的 ID 来将其标识为 1 个设备,而不是有 3 个不同的 ID。此外,此应用程序可以从 3 台不同的构建机器上发布,并且应用程序包名称可能并不总是为人所知。

  • 我尝试过使用广告 ID,但并非所有手机都可以使用,很少有手机可以访问,也很少有人无法检索到它。
  • IMEI - 需要额外的权限并且在 android 10 之后无法实现,因为大多数实现的结果都是空字符串
  • 我已经尝试过唯一的 Android ID,但如果您有 2 台不同的构建机器用于不同或相同的 apk,它将分配 2 个不同的 Android ID,而不是 1 个。
  • 尝试了 Shared preference、Broadcast reciver、Content Provider 和 File R&W 方法来创建自己的唯一标识符,但都无法实现。
  • 至于广播接收器,两个应用程序需要同时处于 Activity 状态才能共享信息
  • 对于 Content Provider 只能有 1 个同名的 Content Provider,如果创建的特定应用程序内容提供者被删除,那么内容提供者也被删除。
  • 共享首选项需要为其他应用程序提供包名称,并且读取模式不可用。它不适用于库包名称,它需要应用程序包名称。
  • 文件读写 - 有些手机能用,有些不行,有时删除文件后,它仍然显示文件存在,有些手机制造商不允许从公共(public)目录读取。

测试的设备:三星 - Android 9、10 和 11MI - Android 9、10 和 11华为-Android 9 和 10

最佳答案

Android Best Practices 定义您不应使用任何硬件 ID,如 IMEI、MAC 地址等。

剩下的就是 Google 广告 ID (GUID) 或 Firebase 安装 ID (FID),或者您可以创建自己的唯一 ID 解决方案,这些都是软件生成的 ID,可以由用户重置通过恢复出厂设置之类的东西。

如果您对一些小样本用户仍然能够重置设备 ID 这一事实没有意见,这在当前公司中是预期的,那么您可以使用 Account Manager API共享应用程序生成的 ID。虽然这用于通过共享 token 和用户名为公司的所有应用程序创建单一登录,但您可以重新调整帐户管理器 API 的用途以共享唯一 ID。每当安装应用程序时,将您的唯一 ID 写给客户经理,并在安装新应用程序时检查此 ID 是否已存在,如果使用相同的 ID,则创建一个新 ID 并写给客户经理。

仍然会有一些用例,其中同一部手机将由一个新 ID 表示,但这种异常(exception)情况将是零星的,恕我直言,可以忽略。

关于android - Android 设备的唯一标识符 - 不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70983115/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com