如何在调用权限之前使用shouldShowRequestPermissionRationale并在Activity中使用。
因为在ActivityCompat.requestPermissions之前返回false
if(ActivityCompat.shouldShowRequestPermissionRationale(context,permission)){
// true
}else{
// false (always false)
}
如果需要向用户解释为什么需要权限,则shouldShowRequestPermissionRationale
方法返回true。在第一次请求权限时,此方法返回false。
但是,如果用户拒绝一次权限,则在另一次请求权限时,此方法返回true,因为向用户解释为什么应用程序需要此权限可能是个好主意。
如果已授予权限,则此方法将返回false。
因此,一个好的做法是首先检查此方法返回的内容,以及是否需要向用户解释,使用对话框或其后请求权限来解释它,否则直接请求权限。
您还可以查看我的library,它可以简化整个过程以及有关运行时权限的其他过程。