SecurityException: getSerial: 用户 10134 不符合访问设备标识符的要求

jam*_*s04 12 android securityexception android-manifest kotlin

我想从 Android 手机获取 Build.getSerial()。在 Android O 之前,我需要 Manifest.permission.READ_PHONE_STATE 权限。但是在 Android 10 中,我得到了上述异常。我所做的是将此权限添加到清单

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
        tools:ignore="ProtectedPermissions"/>
Run Code Online (Sandbox Code Playgroud)

在活动中我需要请求许可但没有这样的许可

ActivityCompat.requestPermissions(this@ListActivity, 
   arrayOf(Manifest.permission.READ_PHONE_STATE, 
   <<Manifest.permission.READ_PRIVILEGED_PHONE_STATE>>), 
   SERIAL_NUMBER_PERMISSION)
Run Code Online (Sandbox Code Playgroud)

那么如果我不能授予权限,我如何获得序列号..?我该怎么办?

小智 8

请参阅此处文档

注意:从 Google Play 商店安装的第三方应用程序不能声明特权权限。

因此,只有谷歌应用程序和手机制造商应用程序(或者如果您是设备管理员或所有者应用程序)可以访问特权权限

  • 那么解决办法是什么? (2认同)