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

在请求运行时权限时选中“不再请求”框是否会禁用以后的对话框?

阎京
2023-03-14

在我的应用程序中,当我调用

ActivityCompat.requestPermissions(this, 
            new String[]{Manifest.permission.READ_PHONE_STATE}, 
            0)

并且以前拒绝了该权限,并且选中了Never ask again,则它根本不会显示对话框。这是预期的行为吗?

共有1个答案

邹杰
2023-03-14

这是意料之中的行为。

从文档中可以看到:

当系统要求用户授予权限时,用户可以选择告诉系统不再请求该权限。在这种情况下,任何时候应用程序使用requestpermissions()再次请求该权限,系统都会立即拒绝该请求。系统调用OnRequestPermissionsResult()回调方法并传递Permission_Denied,与用户再次显式拒绝请求时的方式相同。这意味着当您调用requestpermissions()时,您不能假定与用户的任何直接交互已经发生。

 类似资料:
  • 我一直在尝试实现运行时权限。下面是它的代码片段: RunTimePermissionsUtil。JAVA 在一个名为AddFileActivity的活动中,我在一个点击事件中实现了这个监听器,其代码如下: 所以,我所有的代码都会执行,它会进入onNeed权限()代码,其中,它会进入 但是,令人惊讶的是,在此之后,没有任何对话框要求获得摄像头的运行时权限,相反,对话框关闭并再次显示活动。 有没有人能

  • 是否可以在同一个对话框中同时请求多个权限,比如读联系人、读短信和写外部存储? 如果是,如何做到?请提供一个例子。 我已经在网上搜索了几个小时,但找不到方法。请帮忙!

  • 首先,我知道这是一个重复的问题,但我已经看过了其他类似问题的答案,没有找到成功的解决方案。 我已经开发了一款应用程序,可以在我的测试设备上完美运行,这是一款运行Android L(5.0.1)的三星S4。不过,我希望这款应用程序也能在较新版本的Android上运行。 我知道Android M的请求权限已更改,因此必须在运行时请求权限,但当我尝试实现此功能时,对话框从未出现,因此从未请求所需的权限。

  • 我目前正在开发适用于Android的即时应用程序,我想使用相机。我在片段中请求相机权限,但没有出现权限请求对话框。 这就是我在片段中请求权限的方式: 现在,我希望显示权限请求对话框,就像应用程序本身(com.android.Application)一样。不幸的是,它没有出现在即时应用程序(com.android.instantapp)中。 此外,我发现 调用,但使用grantResults[0]=

  • 我做错了什么?

  • 问题内容: 我有用于调用操作的代码,并且我需要声明运行时权限的最佳方式IVE我尝试了许多代码,但我始终会出错 这是我的基本代码,任何有关使其具有运行时权限的建议,请先谢谢 } 问题答案: 在您的方法中尝试此代码 现在,调用创建一个单独的方法: 添加以下两种用于运行时权限检查的方法: 还要确保将其添加到清单中: 碎片 如果您在中尝试使用此代码 ,请更改 至 并且也改变 至