问一个android6.0动态申请权限的问题

我知道android6.0动态申请权限是跟三个方法有关

checkSelfPermission,requestPermissions,shouldShowPermissionRationale

当用户点了不再提示按钮并拒绝授予权限后,shouldShowPermissionRationale方法返回flse,此时表明这个权限应该是拿不到了,除非去设置里改

但我无法理解的是QQ的录音功能
如图

我在第一次点录音时弹出提示,直接拒绝并且不勾选“不再提示按钮”
第二次点录音时弹出提示,我再次拒绝并且勾选了“不再提示”按钮

按正常逻辑,此后再申请权限系统应该会直接拒绝,所以QQ弹出了一个自己的对话框叫我们去开启

这里我就不懂了,QQ是如何做到惦记开启按钮,就直接获得了权限的,按道理来说requestPermissions此时不是应该一直拒绝吗?

诡异的是QQ的照相功能在被拒绝之后就没有这种选项,只能在设置里打开图片图片图片

2个回答

应该保存了个标记!…………

在你点录音的时候,QQ会判断权限,发现没权限,就会弹出窗口提示你给予权限。

大概理解。

qq_28901231
qq_28901231 回复qq_28901231: 按正常的逻辑,此时应该是拿不到的,都是要用户去设置里面手动开启的。这是我的理解。
2 年多之前 回复
qq_28901231
qq_28901231 回复qq_28901231: 我刚刚又测试了一下,在我不勾选“不再提示”按钮并拒绝之后,此时系统显示QQ的录音权限仍然是询问,勾选“不再提示”并拒绝之后,系统显示QQ的录音权限是禁止,此时我再点击录音,QQ就会弹出自己的对话框,然后点击启用按钮,QQ就获得了录音权限。。
2 年多之前 回复
qq_28901231
qq_28901231 回复Q544471255: 此时不管怎么调用requestPermissons系统都会自动返回请求权限失败 QQ好像是在请求返回权限失败的时候判断了shouldShowPermissionRationale方法返回的是true还是false,如果为true说明用户没有点击不再提示按钮,如果为false说明用户点击了不再提示按钮,此时弹出自定义对话框提示用户,就是上面的图3,我难以理解的是为什么此时用户点击启用,不跳转设置界面打开权限,他就可以直接开启了录音权限
2 年多之前 回复
qq_28901231
qq_28901231 回复Q544471255: 不是这个 当我点击了“不再提示”按钮后,此时shouldShowPermissionRationale方法返回的就是false了,一般应用的处理逻辑是这个方法返回true的时候弹出dialog,告诉用户为什么请求权限,并在点击确定按钮之后调用requestPermissions获取权限(此时该方法还可以调出系统对话框让用户点击是否允许),但是当用户点了不再提示以后,shouldShowPermissionRationale就会返回false了,此时不论你怎么调用requestPermisson是
2 年多之前 回复
dcxy0
Q544471255 回复qq_28901231: 看下是这个不:http://blog.csdn.net/qq_33689414/article/details/52650803
2 年多之前 回复
qq_28901231
qq_28901231 你没懂我意思,判断有没有权限很简单 我想问的是QQ判断我不给他权限之后弹出了一个窗口,这个窗口的开启按钮在我点击以后他就获得了录音权限 注意,没有跳转设置界面 这里我不理解,此时他是如何获得了录音权限的
2 年多之前 回复
dcxy0
Q544471255 虽然可以不再提醒,但QQ不用官方的提醒,自己写个不就行了?
2 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!