android - 为什么返回 Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID) 一个空字符串;
问题描述
我在用
Settings.Secure.getString(context.getContentResolver(), Settings.Secure.ANDROID_ID);
但 return 的值为空。
任何想法?
谢谢
解决方案
你在用模拟器吗?模拟器为此系统属性返回 null/空值。
此外,有趣的是,Android/Google 会在此处警告有关使用 ANDROID_ID 的一些事情
ANDROID_ID 似乎是唯一设备标识符的不错选择。有缺点:首先,它在 2.2 之前的 Android 版本(“Froyo”)上不是 100% 可靠的。此外,在主要制造商的流行手机中至少存在一个被广泛观察的错误,其中每个实例都具有相同的 ANDROID_ID。
此外,请注意此警告,如果您的应用针对 Android Oreo 或更高版本,可能与此相关
注意:对于在将设备更新到 Android 8.0(API 级别 26)或更高版本之前安装的应用程序,如果应用程序在 OTA 后卸载并重新安装,则 ANDROID_ID 的值会发生变化。为了在 OTA 到 Android 8.0 或更高版本后的卸载过程中保留值,开发人员可以使用键/值备份。
推荐阅读
- rails-activestorage - Rails 5.2.0 images.attach 导致 InvalidSignature 错误
- libreoffice-calc - 通过“通用数据有效性表”连接两个单元格?
- python - 简单链接表所需的 SQLAlchemy group_by() 求和帮助
- c# - 如何在c#中的xml之后添加数据并在之后读取xml?
- python - Python多线程产生n个并发线程
- realm - Realm Object Server 文件迁移关键问题
- laravel - Laravel 与 PostgreSQL 和 Postgis 点
- python - 发出版本控制 API 调用
- javascript - 错误:找不到变量 SSL
- matlab - 如何创建一个矩阵,其中包含基于第三个矩阵从另一个矩阵中选择的一组像素?