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

AndroidMarshmallow-如何知道“不再问”勾选之前

司寇嘉茂
2023-03-14

我想阻止用户在没有授予位置访问权限的情况下进入屏幕。

因此,我将权限请求用作名为requestLocation()的函数,该函数在onResume()中调用。

requestLocation()内部

->另一个按钮有助于退出应用程序。

当在onRequestPermissionsResult()中标记deny或grant时,将再次执行requestLocation()。

但在选中“永不再次显示”并单击“拒绝”的情况下,无限循环将继续如下所示

ActivityCompat.RequestPermissions(.........);=>

onRequestPermissionsResult()=>PERMISSION_DENIED=>RequestLocation()=>

未授予权限=>

ActivityCompat.RequestPermissions(.........);

共有1个答案

於炯
2023-03-14

如果:

  • 您以前请求过该权限,并且
  • 您没有该权限(CheckSelfPermission()表示该权限被拒绝),并且
  • ShouldShowRequestPermissionRationale()返回false

则用户已勾选“不再询问”。

 类似资料:
  • 有没有合适的方法知道“永远不要再问”的许可? =================================================================== 我想防止用户在没有授予位置访问权限的情况下进入屏幕。 ->检查权限 ->如果:权限已经授予,注册更新位置。 ->ELSE:未授予,用两个按钮显示授予权限的对话 PERMISSION_DENIED=> requestLo

  • 我想知道,在调用之前,如何知道用户检查“Never ask Again”。 我已经查看了Android M-检查运行时权限-如何确定用户是否选中了“不再问一遍”?但还不能得到妥善的解决办法。 在此之前,请允许我解释一下我的动机。 我有以下反馈对话表单。 当用户显式地勾选回复我时,如果权限尚未授予,我将执行。有三种可能的结果。 则不会显示任何对话框。将永远不会弹出任何对话框。我需要代表用户取消勾选该

  • 我想知道,在调用之前,如何知道用户检查“Never ask Again”。 我已经通过了Android M-检查运行时权限-如何确定用户是否选中了“永远不要再问”?但还无法得到妥善的解决方案。 在此之前,请允许我解释一下我的动机。 null 我找不到区分两者的方法。

  • 问题描述 在同一级下面的节点,我想要拿到el-tree勾选的节点 判断如果节点满足条件会自动勾选其他的节点 你期待的结果是什么? 比如 勾选2-1,通过'-'左边判断,如果是2,就自动勾选2-0;如果是3,就自动勾选3-0,并且在有2-1的情况下,点击2-0不能被取消勾选,除非只有2-0自身了,点击才能取消勾选。这种判断只判断同一级的,不同级的不判断 勾选3 自动勾选3-0 我遇到的问题? 如果我

  • 我想请求android的许可。准许READ\u EXTERNAL\u存储,用于获取媒体数据。 但在请求该权限之前,我想通过选中“永不再次询问”复选框来了解该权限是否被用户阻止。 有没有正确的方法知道“永远不要再问”的许可? 所以如果我能理解“再也不显示”是否被点击。

  • 根据以下内容:http://developer.android.com/preview/features/runtime-permissions.html#编码应用程序可以检查运行时权限,并在尚未授予权限的情况下请求权限。这时将显示以下对话框: 如果用户拒绝了一个重要的权限,imo一个应用程序应该显示一个解释,为什么需要这个权限,以及拒绝有什么影响。该对话框有两个选项: 重试(再次请求权限) 拒绝