android - shouldShowRequestPermissionRationale 方法第一次返回 false

标签 android permissions

shouldShowRequestPermissionRationale方法返回 false第一次。
我在 fragment 中有以下代码:

if (shouldShowRequestPermissionRationale(READ_CONTACTS)) {
    requestPermissions(new String[]{READ_CONTACTS}, 0);
} else {
    Toast.makeText(getActivity(), "FALSE", Toast.LENGTH_SHORT).show();
    snackBarInfo.dismiss();
}
有人遇到过这种情况么?

最佳答案

是的,这是设计使然。这个想法是,如果没有授予权限并且 shouldShowRequestPermissionRationale方法返回 false ,则应用程序应向操作系统请求许可。
当用户拒绝权限请求时,shouldShowRequestPermissionRationale方法将返回 true .此时,您应该向用户展示一些自定义 UI,解释为什么需要权限。
Workflow for requesting permissions Request app permissions 中的部分页面了解更多详情。

关于android - shouldShowRequestPermissionRationale 方法第一次返回 false,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45870298/

相关文章:

android - codenameone 和 Opentok native 接口(interface)

ubuntu - 在 Ubuntu 中授予用户对 htdocs 的权限

android - 使用 Tab 相对于 Intent 的优势

android - 如何将 mapbox 语言更改为波斯语/波斯语

android - android保护级别中的 "normal"和 "dangerous"有什么不同

php - 如何限制用户访问网络服务器上的文件?

laravel - 如何在 Laravel 中为列表或数组定义策略?

java - 使用 Linux 用户权限限制应用程序存储在磁盘中的数据访问

java - 开发适用于智能手机和平板电脑的 Android 应用程序

Android 库使用自己的资源调用 setContentView,但失败并返回 "unable to resolve static field"