Android6.0动态权限shouldShowRequestPermissionRationale的含义

一个老生常谈的问题,关于Android6.0及之后版本对动态权限的处理方法。这里主要说说在处理动态权限时一个重要的方法ActivityCompat.shouldShowRequestPermissionRationale(context, permission),相信大部分人都不陌生,但他具体什么意思可能有部分人又很模糊,今天用示例演示下这个方法的含义。app

APP调用一个须要权限的函数时,若是用户拒绝某受权,下一次弹框时将会有一个“禁止后再也不询问”的选项,来防止APP之后继续请求受权。若是这个选项在拒绝受权前被用户勾选了,下次为这个权限请求requestPermissions时,对话框就不弹出来了,结果就是app啥都不干。遇到这种状况须要在请求requestPermissions前,检查是否须要展现请求权限的提示,这时候用的就是ActivityCompat.shouldShowRequestPermissionRationale方法。函数

 

下面就分场景说明对该方法进行说明blog

一、第一次请求权限时ActivityCompat.shouldShowRequestPermissionRationale=false;it

二、第一次请求权限被禁止,但未选择【再也不提醒】ActivityCompat.shouldShowRequestPermissionRationale=true;io

三、容许某权限后ActivityCompat.shouldShowRequestPermissionRationale=false;class

四、 禁止权限,并选中【禁止后再也不询问】ActivityCompat.shouldShowRequestPermissionRationale=false;权限