如何检测权限对话框被用户拒绝
Posted
技术标签:
【中文标题】如何检测权限对话框被用户拒绝【英文标题】:How to detect permission dialog is denied by user 【发布时间】:2021-07-07 03:56:34 【问题描述】:我正在我的应用程序中实现从厨房拍照,为此我正在添加存储权限。 我正在使用 permission_handler 包向用户请求许可。它在 android 中运行良好,因为它管理用户状态,如永久拒绝等。 但是ios中的主要问题是用户拒绝或允许始终显示用户授予权限(意味着始终提供状态==已授予)
如果有人遇到同样的问题或我做错了什么,请提供帮助。
谢谢。
【问题讨论】:
你可以仔细阅读pub.dev/packages/permission_handler 【参考方案1】:将permission_handler: ^6.1.1
添加到您的 pubspec 文件中
导入
import 'package:permission_handler/permission_handler.dart';
在您的登录页面或main.dart
尝试调用此波纹管函数
bool storagePer = false;
void storageCheck() async
var status = await Permission.storage.status;
if (!status.isGranted)
await Permission.storage.request();
storagePer = true;
print('per: $storagePer');
要检查您是否有权限,请使用 status.isGranted
如果它返回 true => permissionGranted else denied
要申请许可,请使用此await Permission.storage.request();
【讨论】:
是的,你是对的“Aditya kontikal”,我使用它的方式相同。它对 android 工作正常,但对 iOS 提供唯一的 status.isGranted(用户拒绝或允许权限) 谢谢,我找到了解决方案,在 iOS 中,我将存储权限改为照片: - if (Platform.isIOS) status = await Permission.photos.request(); else if (Platform.isAndroid) status = await Permission.storage.request();以上是关于如何检测权限对话框被用户拒绝的主要内容,如果未能解决你的问题,请参考以下文章