Flutter-权限管理 permission_handler

本文介绍了一个基于Flutter的应用中实现权限管理的方法,特别是针对Android平台如何处理相机和存储权限的请求流程。文中详细展示了如何根据不同平台(Android与iOS)进行权限检查及请求,并提供了当用户永久拒绝权限时的处理方案。

权限管理

dependencies:
	permission_handler: # 权限管理
 ///调用原生的收车检测和交车检测功能
  addUsedCarOrder(int index) async {
    ///Android 需要额外判断权限
    if (Platform.isAndroid) {
      if (await _requestPermission()) {
        GlobalConfig.getInstance().addUsedCarOrder(index);
      }
    } else if (Platform.isIOS) {
      GlobalConfig.getInstance().addUsedCarOrder(index);
    }
  }

  ///请求权限
  Future<bool> _requestPermission() async {
    var status = await Permission.camera.status;
    var status1 = await Permission.storage.status;

    if (status1 != PermissionStatus.granted ||
        status != PermissionStatus.granted) {
      var future = await [Permission.camera, Permission.storage].request();
      for (final item in future.entries) {
        ///拒绝并不再询问
        if (item.value.isPermanentlyDenied) {
          ///BrnToast.show("请您去应用程序设置手动开启存储权限", context);
          openAppSettings();
          return false;
        }
        if (item.value != PermissionStatus.granted) {
          return false;
        }
      }
    }

    return true;
  }
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄毛火烧雪下

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值