在Android6.0动态申请权限<一>中已经详细介绍了动态申请权限的步骤,但是有的时候我们可能会有这样的需求:当我们需要获取某个权限的时候,会让用户手动选择是否授权该权限,如果用户拒绝授权该权限,会给用户一个提示框,告诉用户要使用应用的某一功能的时候需要用到该权限,然后再让用户手动选择是否授权该权限。这个时候就用到了shouldShowRequestPermissionRationale(permission)方法。这个方法返回一个boolean类型数据。
true:如果用户之前拒绝了授权某个权限,调用这个方法的时候会返回true。
false:如果用户之前拒绝了授权某个权限,并勾选上Don't ask again选项,此方法将返回false;或者如果设备禁止该应用具有某个权限,则也会返回false。
但是需要注意的一点是:现在有一些手机对原生系统进行了更改,如小米手机,如果用户拒绝了某个权限一次,没有勾选Don't ask again选项,也不会再弹出授权的对话框并会shouldShowRequestPermissionRationale(permission)
方法中返回false。
实现效果是:
代码的完整地址:https://github.com/ruxing1102/GetPermission2