android - 获取 Android 设备的永久唯一 ID

标签 android uniqueidentifier imei android-10.0

我有一个应用程序,我想在其中使用唯一 ID 来识别设备,

我尝试了多种解决方案,但在手机重置后唯一 ID 发生了变化(如 ANDROID_ID)

我使用了下面的 StackOverflow 链接,但现在不可用。

Is there a unique Android device ID? ,

How to get unique device numer in Android? ,

Get Unique ID of Android Device? ,

How to get unique device hardware id in Android? ,

Get unique device ID in android

Android Q 对 IMEI 和序列号的访问受到限制。它仅适用于具有特殊运营商许可的平台和应用程序。此外,READ_PRIVILEGED_PHONE_STATE 权限不适用于非平台应用。

许多人可能会将其标记为重复,但请注意 我正在寻找一个可用于设备的唯一 ID。 (即使重置/格式化设备后也不会改变)

最佳答案

由于隐私原因,最新的 Android 版本在设计上不可能阻止应用跟踪设备。特别是如果您想在设备恢复出厂设置后进行跟踪(如上所述)。

参见Best Practices Guide

建议使用广告 ID,而不是将其与任何硬件标识符关联。您可以识别用户帐户,但不能识别设备本身。这允许用户在认为必要时更改用户帐户,或者在最坏的情况下卸载/重新安装应用程序。

Play Store policy笔记

Association with personally-identifiable information or other identifiers. The advertising identifier must not be connected to personally-identifiable information or associated with any persistent device identifier (for example: SSID, MAC address, IMEI, etc.) without explicit consent of the user.

现在,您可以跟踪设备只要

  1. 通过 Play 商店分发您的应用程序(即旁加载,但如果设备上的 Play Protect 可能注意到您,您就有被启动的风险。我不记得默认设置了,但如果设备有播放服务,它可能会扫描旁加载的应用程序,并在发现恶意行为时将其删除。)
  2. 在旧版 Android 上使用硬件标识符(仍受 Play Protect 的约束,如果您通过 Play 商店分发,则还受 Play 商店的约束)或强制用户使用自定义 ROM

关于android - 获取 Android 设备的永久唯一 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57039625/

相关文章:

ios - 以编程方式获取 iOS7 的 IMEI

java - IMEI 未通过 Luhn 校验和

android - 为什么要用-fno-pic 编译Android 内核模块?

android - 获取 Activity 自定义标题 View

Java:从正则表达式生成唯一ID

windows - Windows 中用户配置文件的唯一标识符

Android:无法从线程获取 Imei

Android 构建错误 com.google.firebase :firebase-core:17. 0.0

android - Kapt3 : java. io.File 无法转换为 java.lang.String

security - 为什么要使用 chaffify ID 来为对象创建唯一的 URL?