为什么要显示请求权限不能正常工作?

问题描述 投票:0回答:1

如何在调用权限之前使用shouldShowRequestPermissionRationale并在Activity中使用。

因为在ActivityCompat.requestPermissions之前返回false

if(ActivityCompat.shouldShowRequestPermissionRationale(context,permission)){
    // true
}else{
    // false (always false)
}
java android kotlin permissions
1个回答
1
投票

如果需要向用户解释为什么需要权限,则shouldShowRequestPermissionRationale方法返回true。在第一次请求权限时,此方法返回false。

但是,如果用户拒绝一次权限,则在另一次请求权限时,此方法返回true,因为向用户解释为什么应用程序需要此权限可能是个好主意。

如果已授予权限,则此方法将返回false。

因此,一个好的做法是首先检查此方法返回的内容,以及是否需要向用户解释,使用对话框或其后请求权限来解释它,否则直接请求权限。

您还可以查看我的library,它可以简化整个过程以及有关运行时权限的其他过程。

© www.soinside.com 2019 - 2024. All rights reserved.