SYSTEM_ALERT_WINDOW - How to get this permission automatically on Android 6.0 and targetSdkVersion 23

Viewed 99125

Facebook, Evernote, Pocket - all apps get this permission on Android 6.0 automatically, even though they are targeting 23 (targetSdkVersion=23).

There has been a lot of documentation regarding the new Marshmallow permission model. One of them is SYSTEM_ALERT_WINDOW been 'promoted' to 'above dangerous' permission class thus requiring a special user intervention in order for apps to be granted with those. If the app has targetSdkVersion 22 or lower, app gets this permission automatically (if requested in the manifest).

However, I've noticed some apps that get this permission, without needing to send the user to the setting special page of Draw over other apps permission. I saw Facebook, Evernote, Pocket - and perhaps there are more.

Anyone knows how an app can be granted this permission without the user go through Settings -> Apps -> Draw over other apps?

Thanks

5 Answers

Now(2019) that Google offers an alternative API to SYSTEM_ALERT_WINDOW in the form of Bubbles in Android Q, Google has decided to eventually deprecate SYSTEM_ALERT_WINDOW in a future Android release.

And Android Go devices will no longer grant this permission i.e Settings.canDrawOverlays() == false

For those who want to get this permission automatically when the app is downloaded from the Play Store, besides the SYSTEM_ALERT_WINDOW in the Manifest, you should go to this link and request this from Google.

You have to provide some additional information why you need this permission and Google will review and give you the automatically permission.

Bear in mind that before you ask for this, you have to:

  • Have the SYSTEM_ALERT_WINDOW permission in the Manifest

  • Prompt the user to grant the SYSTEM_ALERT_WINDOW permission within your app, when not already granted

If I miss something feel free to update the answer

Related