获取 Android 设备的永久唯一 ID

2023-11-30

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

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

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

Android 设备有唯一的 ID 吗?,

如何在Android中获取唯一的设备编号?,

获取 Android 设备的唯一 ID?,

Android中如何获取唯一的设备硬件ID?,

获取android中唯一的设备ID

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

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


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

See 最佳实践指南

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

Play 商店政策 notes

与个人身份信息或其他标识符的关联。未经用户明确同意,广告标识符不得与个人身份信息相关联或与任何持久设备标识符(例如:SSID、MAC 地址、IMEI 等)相关联。

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

  1. you don't通过 Play 商店分发您的应用程序(即侧面加载,但如果播放保护设备上可能会注意到您。我不记得默认设置,但如果设备有播放服务,它可能会扫描旁加载的应用程序,如果发现恶意行为则将其删除。)
  2. 在旧版本的 Android 上使用硬件标识符(仍受 Play Protect 的约束,如果您通过 Play Store 分发,则还受 Play Store 的约束)或强制用户使用自定义 ROM
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取 Android 设备的永久唯一 ID 的相关文章

  • Realm 中的更新语句

    I have VisitingCardPOJO表格 我想更新单个条目说在哪里no 3 VisitingCardPOJO java public class VisitingCardPOJO extends RealmObject Prima
  • 使用 PutDataMapRequest 后,Wearable.DataApi.getDataItem() 的 Uri 是什么?

    我正在测试可穿戴数据层 API如中所述安卓教程 http developer android com training wearables data layer index html 有一个基于底层 APIDataItem http dev
  • GCM 无法唤醒设备

    我正在开发 GCM 应用程序 当设备不空闲时 即按电源按钮休眠 一切正常 但是 当我在设备空闲时发送消息时 设备不会唤醒 我做了以下事情 已验证服务器应用程序中的delay while idle未设置为true 每条消息使用不同的折叠键 多
  • 如何在android中获取MapView API?

    如何在android中获取MapView API thanks Android 文档中实际上是这么写的 你好 地图视图 http developer android com guide tutorials views hello mapvi
  • 使用 NEON 内在函数除以浮点数

    我当时正在处理四个像素的图像 这是在armv7对于 Android 应用程序 我想分一个float32x4 t向量由另一个向量组成 但其中的数字与大约不同0 7 to 3 85 在我看来 除法的唯一方法是使用右移 但这是针对一个数字2 n
  • Android版本App更新代码

    我读到如果我们想更新Google Play中的应用程序 版本代码应该高于以前的apk文件 我有一个版本代码为 20 且版本名称为 1 0 的应用程序 那么要更新app 应该如何增加版本号呢 应该增加10吗 或者仅仅 1 就足够了 即版本代码
  • 多种语言的多种字体

    我最近在开发应用程序时遇到了一种情况 我必须在文本视图中显示不同的语言 目前我正在展示一些使用字体 字体像这样 Typeface tf Typeface createFromAsset this getAssets DroidHindi t
  • Google 地图位于活动的中间区域

    我正在使用 Android studio 2 1 2 我检查了一下 大多数问题要么使用旧版本的 Android studio 要么使用一些旧的类 这些类不适用于我的情况 从文件 gt 新项目 gt 我使用了选项Google Maps Act
  • 带有图层列表的自定义背景以显示对角线?

    我只想创建一个自定义背景 但我不知道如何使用 xml 而不是图像来做到这一点 这是 XML
  • 是否可以将自定义属性添加到 Android 资源的样式中?

    我在我的项目中使用视图流组件 它允许开发人员覆盖一些属性 例如
  • 将 android 蓝牙客户端套接字连接到 ubuntu 服务器套接字时出现问题

    我正在编写一个 Android 应用程序 它应该通过蓝牙与服务器交换数据 服务器端位于运行 Ubuntu 的 PC 上 使用 bluez 库 用 C 或 C 编写 当我尝试连接到 PC 上的服务器套接字时 我的 Android 应用程序失败
  • 将非 Android 项目添加到 Android 项目

    我在 Eclipse 中有三个项目 Base Server 和 AndroidClient Base和Server是Java 1 7项目 而AndroidClient显然是一个android项目 基础项目具有在服务器和 Android 客户
  • 如何使用 Retrofit 解析嵌套 json....?

    我不知道该怎么办使用 Retrofit 解析 json 熟悉使用 Retrofit 解析简单的 json 但不熟悉解析嵌套Json using Retrofit 这是我的 Json 数据 current observation image
  • Android 无法解析日期异常

    当尝试解析发送到我的 Android 客户端的日期字符串时 我得到一个无法解析的日期 这是例外 java text ParseException 无法解析的日期 2018 09 18T00 00 00Z 位于 偏移量 19 在 java t
  • 将人类日期(当地时间 GMT)转​​换为日期

    我正在服务器上工作 服务器正在向我发送 GMT 本地日期的日期 例如Fri Jun 22 09 29 29 NPT 2018在字符串格式上 我将其转换为日期 如下所示 SimpleDateFormat simpleDateFormat ne
  • PhoneGap 1.4 封装 Sencha Touch 2.X - 性能怎么样?

    我正在构建一个多平台平板电脑应用程序 仅使用其 Webview 使用 Phonegap 1 4 对其进行包装 然后使用 Sencha Touch 2 框架发挥我的魔力 我所说的多平台是指 iOS 5 X 和 Android 3 0 目前 到
  • Jetpack Compose 中复选框中的透明复选标记

    在我的 Compose 应用程序中 我需要创建一个圆形复选框 我已经通过下面的代码实现了这一点 Composable fun CircleCheckBox isChecked Boolean modifier Modifier Modifi
  • Android 为什么这不会抛出错误的线程异常?

    我的印象是视图只能从主线程操作 但是 为什么这不会崩溃 public class MainActivity extends Activity TextView tv Override protected void onCreate Bund
  • JetPack Compose - 卡中行中的weight() 不起作用

    创建 Android 应用程序时 我将一些可组合项放在卡片的一行中 如下所示 但它没有按我的预期工作 我添加 weight 1f 的可组合项不再显示 data class Test val title String val text Str
  • Keystore getEntry 在 Android 9 上返回 NULL

    c我已对存储在 Android 密钥库中的登录密码进行了加密和解密 在 Android 9 上 我观察到应用程序在尝试解密密码时崩溃 我无法重现它 但拥有 Pixel 3 的用户是崩溃的设备之一 下面是我如何从密钥库解密密码 private

随机推荐

  • Plotly:如何在下拉菜单中给出不同的标签名称?

    我正在学习情节下拉菜单并偶然发现了标签问题 Question 如何显示标签sin and sin 1当选择正弦波时 并显示标签tan and tan 1什么时候选谭 MWE imports import plotly graph objec
  • 了解 SSE 的内在函数如何使用内存

    在我问问题之前 先介绍一些背景信息 在 C 语言中 当您分配给变量时 您可以从概念上假设您刚刚修改了 RAM 中的一小块内存 int a rand conceptually you created and assigned variable
  • 在Android中使用ActionBarSherlock时如何在ActionBar选项卡上绘图?

    我在用动作栏夏洛克为 HoneyComb 之前的设备提供 ActionBar 我的活动有四个片段 即 1 用户 2 聊天 3 视频 4 额外 参见图片 我使用以下代码创建了actionBar actionBar getSupportActi
  • 从 YouTube URL 获取视频 ID?

    假设我有一个 ID 列表 如下所示 http www youtube com watch v KMU0tzLwhbE http youtu be KMU0tzLwhbE http www youtube com watch v KMU0tz
  • 使用 EXC_BAD_INSTRUCTION 在空扩展中断中声明符合 @objc 协议

    在将 Swift 协议与数组结合使用时遇到了很多很多麻烦 但在 Playground 中出现问题之前我什至无法重现整个问题 这是一个最小的例子 我有两个协议和一个类Bus它声明符合其中一项协议 另外 一个空的扩展Bus声明与其他协议的一致性
  • 外键死锁时如何删除记录?

    我有两张桌子p and u如下 PostgreSQL 9 3 CREATE TABLE p pid integer NOT NULL uid integer CONSTRAINT p fkey FOREIGN KEY uid REFEREN
  • Windows 应用商店应用程序:证书中的主机名无效或不匹配

    在我的 Windows 8 1 应用程序中 当我调用 Web 服务时 出现以下异常 证书中的主机名无效或不匹配 我使用的代码 HttpBaseProtocolFilter filter new HttpBaseProtocolFilter
  • 任务不等待ContinueWith完成

    我有控制台应用程序和代码如下 我的问题是在ContinueWith任务完成之前 控制台应用程序结束 它不等待ContinueWith完成 请告知 请让我知道我遗漏或不正确的内容 var task1 Task
  • 获取字符码值大于十六进制“FFFF”的 Unicode 字符

    Issue The ChrWcharcode 参数是Long标识一个字符 但不允许值大于 65535 十六进制值 HFFFF see MS Help 例如各种符号和象形文字可以在以下位置找到Unicode 十六进制块 1F300 1F5FF
  • 如何使用 SSL 使我的网站有效?

    我有一个网站 位于具有专用 IP 的专用服务器上 并且安装了 SSL 证书 并且有效 当我访问我的网站并输入 https 而不是 http 时 我的网站仅部分加载 因为 google chrome 说我的网站有一些不安全的数据 我的网站尚未
  • 如何检测与预制件子项的碰撞

    我已经开始学习 Unity 并决定做一些练习 所以 我认为开发 Flappy Bird 作为一个实验会很棒 但我遇到了这个问题 您知道 当您在管道之间飞行时 您可以获得积分 为此 我制作了一个带有两个管道的预制件以及它们之间的一个空游戏对象
  • 使用 Jsoup 来 POST 登录数据

    我正在尝试登录这个网站 http deeproute com 这是我的代码 Connection Response res null Connection homeConnection null Document homePage null
  • 我可以搜索 Netbeans 的本地历史记录吗?

    在 Netbeans 项目中的一个文件的早期版本之一中 我编写了后来删除的代码 现在我想检索它 但是现在当我手动转到以前的版本时我找不到它 因为我在这个文件的本地历史记录中有很多版本 而且我不记得我到底什么时候编写了这段代码 有没有办法对此
  • Facebook 聊天机器人(PHP webhook)发送多个回复

    我的 Facebook 聊天机器人正在运行 但在我向它发送初始消息后 它会发回多条消息 这是我的 webhook 脚本 我很欣赏这是一个非常粗糙的工作示例 challenge REQUEST hub challenge verify tok
  • 这些结果类型存在“...”的重载:ClosedRange、CountableClosedRange

    Swift 2 let gap CGFloat randomInRange StackGapMinWidth maxGap 调用中缺少参数标签 范围 Swift 3 新错误 let gap CGFloat randomInRange ran
  • 拆分变量的第一个字母

    我需要从变量 name 中拆分第一个字母 我怎样才能做到呢 name userData name 我怎样才能得到第一封信 请检查是否正确 if userData gender male if firstletter i picture Im
  • MySQL 中的 BULK INSERT 问题

    我在执行批量插入时遇到以下 SQL 命令错误 BULK INSERT libra faculty FROM d faculty csv WITH FIELDTERMINATOR ROWTERMINATOR n 这是错误消息 ERROR 10
  • 我可以将文件添加到本地 Git 存储库但不将其推送到远程吗

    我有许多大型视频文件 我不想将其推送到远程 但我确实想将它们添加到本地存储库 有点像远程版本 gitignore file 那可能吗 更具体地说 我正在开发一个多媒体项目 一个文件夹包含项目元数据文件 它是一个 Screenflow 项目
  • ggplot 中的反向日期时间(POSIXct 数据)轴

    我正在尝试使用 ggplot 创建 POSIXct 时间图 并且想反转轴 但正在努力使其工作 我一直在使用scale y datetime 因为在我的实际应用程序中 控制该轴上的中断非常重要 这是我的问题的一个例子 首先是正常排序 然后是我
  • 获取 Android 设备的永久唯一 ID

    我有一个应用程序 我想在其中使用唯一 ID 来识别设备 我尝试了多种解决方案 但在手机重置后唯一 ID 发生了变化 如 ANDROID ID 我使用了下面的 StackOverflow 链接 但现在不可用 Android 设备有唯一的 ID