android - SYSTEM_ALERT_WINDOW - 如何在 Android 6.0 和 targetSdkVersion 23 上自动获得此权限

标签 android android-permissions android-6.0-marshmallow target-sdk system-alert-window

Facebook、Evernote、Pocket - 所有应用都会在 Android 6.0 上自动获得此权限,即使它们的目标是 23 (targetSdkVersion=23)。

有很多关于新 Marshmallow 权限模型的文档。其中之一是 SYSTEM_ALERT_WINDOW 被“提升”为“高于危险”权限类别,因此需要特殊的用户干预才能授予应用程序这些权限。如果应用的 targetSdkVersion 22 或更低,应用会自动获得此权限(如果在 list 中请求)。

但是,我注意到一些应用程序获得了此权限,而无需将用户发送到 Draw over other apps 权限的设置特殊页面。我看到了 Facebook、Evernote、Pocket - 也许还有更多。

任何人都知道如何在用户不经过Settings -> Apps -> Draw over other apps的情况下为应用授予此权限?

谢谢

最佳答案

这是 Marshmallow 6.0.1 中引入的新行为。

每个请求 SYSTEM_ALERT_WINDOW 权限并通过 Play 商店安装的应用程序(需要 6.0.5 或更高版本)都会自动授予该权限。

如果应用程序是旁加载的,则不会自动授予权限。您可以尝试从 apkmirror.com 下载并安装 Evernote APK .如您所见,您需要在 Settings -> Apps -> Draw over other apps 中手动授予权限。

这些是提交 [1] [2]允许 Play 商店自动授予 SYSTEM_ALERT_WINDOW 权限。

关于android - SYSTEM_ALERT_WINDOW - 如何在 Android 6.0 和 targetSdkVersion 23 上自动获得此权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36016369/

相关文章:

安卓 M : How to open Permission Dialog even if user selects Never Ask Again ?

android - android :permisson 中的多个权限

android - 何时在 android 6.0 (Marshmallow) 上请求 READ_EXTERNAL_STORAGE

java - 使用 try and catch 请求 Android 运行时权限

android - FirebaseDatabase.getInstance().setPersistenceEnabled(true) 到底做了什么?

android - 设备锁定时出现权限对话框

android - 在开发人员控制台中将 Android 目标 Api 级别 23 降级到 22

java - NetworkOnMainThreadException 有时会抛出

android - WebView.setInitialScale 不起作用

android - 没有获取改造日志