8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

当询问图像获取 iOS 权限时,一旦用户不允许该权限,如何再次询问以允许该权限

Vusal Huseynov 2月前

25 0

一旦用户想要更改配置文件,但用户不允许该权限,一旦用户不允许该权限,当用户想要更改配置文件时每次都询问权限(仅...

Flutter 每次用户想要更改配置文件时询问权限(仅当用户不允许该权限时) Ios

用户必须允许权限

帖子版权声明 1、本帖标题:当询问图像获取 iOS 权限时,一旦用户不允许该权限,如何再次询问以允许该权限
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Vusal Huseynov在本站《dart》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您可以进入设置> [AppName],各种权限会显示在那里,您可以在那里切换它们。

  • 尝试使用包下面的代码 permission_handler 来管理权限。

    @override
    void initState() {
      super.initState();
      checkPermission();
    }
    
    Future<void> getImage() async {
      PermissionStatus status = await Permission.photos.status;
      if (status.isGranted) {
        // Proceed to pick an image
      } else {
        await requestPermission();
      }
    }
    

    使用以下方法检查权限的当前状态。

    Future<void> checkPermission() async {
      PermissionStatus status = await Permission.photos.status;
    
      if (status.isDenied) {
        // Permission is denied, show a dialog or message to the user
      } else if (status.isGranted) {
        // Permission is granted, proceed with accessing images
      }
    }
    

    如果权限被拒绝,则显示一个对话框,解释为什么需要该权限以及如何启用它。

    void showPermissionDialog(BuildContext context) {
      showDialog(
        context: context,
        builder: (BuildContext context) {
          return AlertDialog(
            title: Text('Permission Required'),
            content: Text('This app needs permission to access your photos. Please enable it in settings.'),
            actions: <Widget>[
              TextButton(
                child: Text('Open Settings'),
                onPressed: () {
                  openAppSettings();
                },
              ),
              TextButton(
                child: Text('Cancel'),
                onPressed: () {
                  Navigator.of(context).pop();
                },
              ),
            ],
          );
        },
      );
    

    如果用户最初拒绝该权限但尚未永久拒绝,则可以使用以下方法再次请求该权限。

    Future<void> requestPermission() async {
      PermissionStatus status = await Permission.photos.request();
    
      if (status.isGranted) {
        // Permission granted, proceed with accessing images
      } else if (status.isDenied) {
        // Permission still denied, show a dialog
        showPermissionDialog(context);
      } else if (status.isPermanentlyDenied) {
        // Permission is permanently denied
        showPermissionDialog(context);
      }
    }
    
返回
作者最近主题: