android - 如何在 Android 10 中读取设备信息?
问题描述
我正在尝试使用 TelephonyManager 读取 Build.SERIAL 和 DeviceId 等设备信息。在 Android 9 及更低版本中,我能够毫无问题地访问所有这些信息。
当我尝试在Android 10中读取设备信息时收到以下异常
GetDeviceId:用户 10727 不满足访问设备标识的要求。
此信息对于我的应用程序的安全性非常重要。我需要一种方法来识别具有不可更改设备身份的设备。
解决方案
如此处所述,这是 android 10 中引入的更改之一: https ://developer.android.com/about/versions/10/highlights
您应该尝试在此处使用最佳实践之一: https ://developer.android.com/training/articles/user-data-ids
无论如何,根据我的经验,如果您在您的应用程序中获取 UUID,即使您的应用程序被卸载并重新安装,您也将获得相同的 uuid。请注意,此 uuid 不是较新的 Android 设备上的实际设备 uuid。但是,如果您将其存储在您的服务器上,它仍可用于检测卸载和重新安装。
Settings.Secure.getString(App.instance.getContentResolver(), Settings.Secure.ANDROID_ID);
推荐阅读
- python - AUTH_USER_MODEL 指的是尚未安装的模型 '%s'"
- python - np.round 或 np.around 不起作用
- javascript - 需要从Javascript中的Parent对象访问Child对象的数组
- android - 如何在android中减小签名应用程序的大小
- php - Laravel flash 消息在特定重定向路由的特定方法中不起作用
- angular - Angular 6嵌套反应表单组件
- android - REST API请求android不起作用
- windows - 无法安装 Oculus - 磁盘空间不足
- python - google api (sheets) 请求的身份验证范围不足
- mysql - 如何在不更新 MySQL 中的整个值的情况下更新特定值