即使用户授予了权限,Android Marshmallow位置权限也不起作用

时间:2016-09-29 01:56:35

标签: android location android-6.0-marshmallow android-permissions

我正在开发一个需要Android Marshmallow位置许可的应用程序。我遵循了实现它所需的所有步骤(函数调用)。 当我运行应用程序时,它会弹出一个询问用户权限的框。当我选择是时,它会显示另一个弹出窗口,上面写着“检测到屏幕叠加”,然后我会设置显示应用程序列表的屏幕。在那里,我取消选中所有应用程序,然后按后退按钮返回我的应用程序。 调用onRequestPermissionsResult()回调时,我可以看到未授予权限。它一直在发生。

为什么它一直显示“检测到屏幕叠加”,因为我已经取消选中/取消选中列表中的所有应用程序?

为什么虽然我在申请许可时按了是,但未授予许可?

2 个答案:

答案 0 :(得分:0)

原因:当您运行浮动应用程序,然后启动新安装的应用程序时,会显示此消息,请求访问权限。浮动应用程序包括Facebook Messenger的聊天头,可以浮动在其他应用程序之上等等。

受影响的智能手机:互联网上的用户报告称在三星和摩托罗拉智能手机上遇到此问题。它似乎可能会影响许多制造商。 AndroidPIT设法在沃达丰和三星智能手机上复制行为。

问题应用:我们使用Drupe复制了这个问题,但CleanMaster,Lux和Twilight都被归咎于这个问题。

技术背景:作为一项安全措施,应用会要求获得使用手机某些部分(内部存储设备,相机等)的许可。理论上,显示叠加可能会干扰请求权限的对话,因此您需要禁用该功能以与对话进行交互。

现在的解决方案,如何解决它:

第一步:"检测到屏幕叠加"修复

找到哪些应用有权在屏幕上绘图。在非三星智能手机上,请按照以下步骤操作:

  1. 打开设置
  2. 点按右上角的搜索图标
  3. 输入搜索字词“draw”
  4. 点按绘制其他应用
  5. 选择绘制其他应用
  6. 对于三星用户:

    1. 打开设置
    2. 然后应用程序>应用程序经理
    3. 按更多>可以显示在顶部的应用
    4. 第二步:

      您将发现自己位于有权使用浮动按钮或其他屏幕叠加层的应用列表前面。现在您需要识别问题应用程序并暂时拒绝它在屏幕上绘制的权限。以下是关于如何识别导致问题的应用程序的一些指示:

      1. 您是否在屏幕上看到了应用泡泡?如果这样,这个应用程序几乎肯定是原因。您可以隐藏应用程序气泡或禁用列表中的应用程序
      2. 您是否安装了可更改显示屏颜色或调整亮度的应用程序?
      3. 据说,Clean Master可能是一个麻烦制造者。如果您在列表中看到Clean Master,请将其禁用
      4. 如果没有明显原因,请禁用所有内容
      5. 第三步:

        现在您可以尝试再次启动该应用,它应该在没有“检测到显示叠加”错误的情况下请求权限。

        对于三星用户:单手键盘设置可能是根本原因。通过转到设置>停用它。高级功能>单手操作

        第四步:重新启动屏幕叠加

        要使您在第二步中停用的应用再次使用,您需要重新启用其叠加权限。如果您关闭了所有应用,则可能值得考虑重新激活您实际使用的应用。

        这是一个相当不优雅的解决方法,但它是我们所做的最好的,直到Google进行必要的更改以防止应用覆盖干扰权限对话。

        本指南有帮助吗?如果您在遵循我们的指南后仍然遇到错误,请发表评论,以便我可以尝试解决问题。

答案 1 :(得分:0)

This is the issue reported many times.

The possible solutions are:
1) delete apps like(cleanmaster, battery saver, etc.) or go to settings/app/cleanmaster/force stop.

2)或者您也可以删除cleanmaster的权限。

3)确定哪个应用正在吸引其他应用。事先关掉它。

注意:有时取消选中实际上并不能解决叠加问题。