Settings.canDrawOverlays(context)在Android Oreo上返回false [英] Settings.canDrawOverlays(context) returns false on Android Oreo

查看:671
本文介绍了Settings.canDrawOverlays(context)在Android Oreo上返回false的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

清单:

<uses-permission android:name="android.permission.SYSTEM_OVERLAY_WINDOW" />
<uses-permission android:name="android.permission.ACTION_MANAGE_OVERLAY_PERMISSION" />

代码activity.onCreate():

Code activity.onCreate():

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M && BuildConfig.DEBUG) {
        if (!Settings.canDrawOverlays(this)) {
            Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION,
                    Uri.parse("package:" + getPackageName()));
            startActivityForResult(intent, OVERLAY_PERMISSION_REQ_CODE);
        }
    }

问题:即使已经授予了权限,Settings.canDrawOverlays(this)也会返回false.在将Pixel更新为Oreo之前没有发生.

Problem: Settings.canDrawOverlays(this) returns false even so the permission has been already granted. Hasn't happened before update Pixel to Oreo.

Android版本:8.0.0

Android version: 8.0.0

我尝试将构建工具更新为:26.0.1,将target和compileSdk更新为26. 它在第一次启动时有所帮助:切换后返回true,但是下次启动应用程序时,它将再次返回false.

I've tried to update build tools: to 26.0.1 and target and compileSdk to 26. It helped on the first launch :after toggling on it returns true, but next time I launch application it returns false again.

推荐答案

问题出在Android Oreo本身.

The problem was in Android Oreo itself.

我安装了安全补丁后,它消失了.

After I've installed security patch it disappeared.

解决方案::安装最新的安全补丁.

Solution: Install latest security patch.

这篇关于Settings.canDrawOverlays(context)在Android Oreo上返回false的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆