Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SecurityException: getSerial: The user 10134 does not meet the requirements to access device identifiers

I want to get the Build.getSerial() from the Android phone. Up to Android O i needed the Manifest.permission.READ_PHONE_STATE permission. However in Android 10 i get the above exception. What i did is added this permission to the manifest

<uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE"
        tools:ignore="ProtectedPermissions"/>

And in the activity i need to request for the permission but there is not such a permission

ActivityCompat.requestPermissions(this@ListActivity, 
   arrayOf(Manifest.permission.READ_PHONE_STATE, 
   <<Manifest.permission.READ_PRIVILEGED_PHONE_STATE>>), 
   SERIAL_NUMBER_PERMISSION)

So how can i get the serial Number if i cannot Grant the permission..? What should i do?

like image 383
james04 Avatar asked Jan 22 '20 16:01

james04


1 Answers

Refer the documentation here:

Caution: Third-party apps installed from the Google Play Store cannot declare privileged permissions.

As such only google apps and phone manufacturer apps (or if you are device admin or owner app) can access previleged permissions

like image 178
Mohammed Aquib Azad Avatar answered Nov 15 '22 01:11

Mohammed Aquib Azad