当前位置: 首页 > 知识库问答 >
问题:

如果用户试图在显示通知时授予权限,则显示Android“Screen Overlay Detected”消息

蒋正平
2023-03-14

我在Nexus 6上安装了AndroidMarshmallow。我正在尝试解决以下问题:

如果用户在显示通知时尝试开通权限,则会显示"屏幕覆盖检测到"消息,请求权限对话框会消失-当然应用程序不会获得请求的权限。(检查屏幕截图)

我试图通过添加"DRAW OVER OtherAPPS"权限来解决这个问题-android.permission.SYSTEM_ALERT_WINDOW清单,但没有运气。

PS:我确信问题是由通知引起的。我没有安装任何覆盖其他应用程序的应用程序,我甚至在设置中关闭了具有“绘制其他应用程序”权限的所有应用程序。没有帮助...

有人知道那个问题的解决办法吗?

共有3个答案

谢奕
2023-03-14

出现这个问题是因为一些罪魁祸首的应用程序,如暮光之城,清洁大师,核果等。

要解决这个问题,你必须禁用那些罪魁祸首应用的屏幕覆盖。

我有moto g4 plus,这就是我解决这个问题的方法

转到设置-

我所做的是通过禁用此权限来检查每个应用程序,并尝试运行我的应用程序,我发现一个应用程序覆盖了其他应用程序,因此最后我只禁用了此应用程序

截图:

谭俊
2023-03-14

卸载清洁大师应用程序。我卸载了它,问题解决了

厍兴腾
2023-03-14

在我遇到的情况下,问题是我自己造成的。这是在我请求许可的同时,使用Toast向用户显示信息的结果。这两种操作一起会导致此类错误。

其他答案可能会解决其他人的问题。但我想指出的是,你应该小心造成自己的重叠错误。在请求许可的同时,注意不要在视图中覆盖某些内容。

 类似资料:
  • 如果all调用ActivityCompat.RequestPermissions(),则OS显示一个带有Deny或Permissions按钮的对话框。还有一个“永不再次显示这个”勾选框。 但是,我无法让应用程序知道用户是否勾选了这个框--在onRequestPermissionsResult()中,如果用户单击Deny,以及如果用户在单击Deny之前勾选了这个勾选框,那么grantResults参

  • 问题内容: 这是使用Jenkins运行ios-sim的后续活动-当通过ssh(而不是通过ssh)运行Jenkins从站时,我需要一种方法来使这项工作有效 因此,一般而言,如果我使用ssh登录到Mac,如何访问显示器? 问题答案: 我认为您必须使用与ssh连接一起使用的用户登录Mac(Jenkins从站)。登录后,您运行的作业应该可以访问显示。 我们使用“ 通过SSH在Unix计算机上启动从属代理

  • 我已经创建了自己的android。这样我就可以使用隐藏的API调用“DisplayManager.connectWifiDisplay()”。 当我运行应用程序并调用该方法时,在通过Wifi Direct连接到显示器后, 我得到以下例外: java.lang.SecurityException:连接到wifi显示器所需的权限:用户10105和当前进程都没有android.Permission.CO

  • 我的应用程序生成了一个通知,但我为该通知设置的图标没有显示。取而代之的是一个白色的方块。 我试过调整图标的png大小(尺寸720x720,66x66,44x44,22x22)。奇怪的是,当使用较小的尺寸时,白色的正方形更小。 我搜索了这个问题,以及生成通知的正确方法,从我读到的代码来看,应该是正确的。不幸的是,事情并不像他们应该的那样。

  • 问题内容: 如何获取提示通知。使用以下代码,我只能在状态栏上看到三个点,在通知栏上看到一个通知。 问题答案: 我遇到了同样的问题,但我使用的是较新的呼叫,该呼叫需要来自的频道ID 。 如果创建的通知的重要性值为,则该通知将仅作为抬头通知出现: 显示抬头通知:

  • 我正在尝试制作一个使用数据库的java应用程序。我已经下载了db2并创建了一个用户'student'。我的程序中有以下几行: 显然,我几乎不知道我在做什么,我不知道如何给予“学生”必要的特权。也就是说,我不知道什么用户可以给他特权,因为我从来没有创建过另一个用户。我看到有人提到过'db2admin'(我使用的是windows),但我不知道该如何处理这段信息。我不知道如何检查现有用户,也不知道对db