首页 > 解决方案 > 如何区分 Android 运行时权限的“不再询问”状态和“取消”状态?

问题描述

用户可以通过点击“返回”按钮取消权限请求。并且从 Android 11 开始,用户还可以点击权限对话框外部来取消。当一个权限被取消时,权限不被授予,并且 shouldShowPermissionRationale() 将返回 false,这意味着应用可以再次调用 requestPermissions()。

当用户在 Android 11 中选择“不再询问”或两次拒绝权限时,shouldShowPermissionRationale() 也将返回 false。但是如何区分“不再询问”和“已取消”状态?

我需要区分这两种状态是因为如果用户之前取消了权限,我知道我仍然有机会向他们提示系统权限对话框。但是如果用户选择不再请求权限,我需要引导他们到应用信息页面手动授予权限。

标签: androidandroid-permissions

解决方案


推荐阅读