如何在Android 10中读取设备信息?

时间:2019-12-18 16:31:04

标签: android android-security android-10.0 device-instance-id

我正在尝试使用TelephonyManager读取Build.SERIAL和DeviceId之类的设备信息。在Android 9及更低版本中,我可以毫无问题地访问所有这些信息。

当我尝试在 Android 10

中读取设备信息时,我收到以下异常消息

GetDeviceId:用户10727不符合访问设备标识的要求。

此信息对于我的应用程序的安全性非常重要。我需要使用不可更改的设备标识来识别设备的方法。

1 个答案:

答案 0 :(得分:0)

如此处所述,这是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);