随手记录一个android 权限判断的坑。
android 23版本后,需要运行时申请权限,此时会调用checkPermission方法,然后弹出系统的权限请求弹框,让用户选择是否授权。不过当用户选择不再提醒后,不会弹起权限请求弹框,直接返回拒绝授权。
shouldShowRequestPermissionRationale方法可以用来判断是否可以展示权限请求判断,23以下的版本会自动返回false。
不过shouldShowRequestPermissionRationale对调用的环境有要求,直接调用返回值可能不准确,在不同机型上验证下来,华为返回的是准确的,但是三星和oppo返回的是不正确的;如果在onRequestPermissionsResult回调中调用,就都可以返回正确的值。
网友评论