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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么要显示请求权限不能正常工作?相关的知识,希望对你有一定的参考价值。

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

因为在ActivityCompat.requestPermissions之前返回false

if(ActivityCompat.shouldShowRequestPermissionRationale(context,permission)){
    // true
}else{
    // false (always false)
}
答案

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

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

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

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

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

以上是关于为什么要显示请求权限不能正常工作?的主要内容,如果未能解决你的问题,请参考以下文章

Android 权限请求代码问题

查找具有特定权限的文件

片段中的Android webView显示空白页面

标签菜单android - 不正确的调用片段

无法从 onListItemClick 开始片段

OnClick 在片段的回收器适配器中无法正常工作