首页 > 解决方案 > 授予阅读和使用照片的权限

问题描述

我想让我的用户有机会上传个人资料图片。因此,我用 permissionHandler 和 image_picker 包编写了一些代码。

MaterialButton(
          child: Text('Profilbild auswählen'),
          onPressed: () async {
            var status = await Permission.photos.status;
            print(status);
            if (status.isGranted) {
              final pickedFile =
                  await _picker.pickImage(source: ImageSource.gallery);
              print(pickedFile);
              setState(() {
                if (pickedFile != null) {
                  _imageFile = File(pickedFile.path);
                } else {
                  print('No image selected.');
                }
              });
            } else {
              showDialog(
                  context: context,
                  builder: (BuildContext context) => CupertinoAlertDialog(
                          title: Text('Bilder Zugriff'),
                          content: Text(
                              'Wir brauchen zugriff auf deine Bilder um ein Profilbild hochladen zu können!'),
                          actions: <Widget>[
                            CupertinoDialogAction(
                                child: Text('Grant'),
                                onPressed: () async {
                                  Navigator.of(context).pop();
                                  await Permission.photos.request();
                                }),
                            CupertinoDialogAction(
                              child: Text('Settings'),
                              onPressed: () => openAppSettings(),
                            ),
                          ]));
            }
          }),

但是,尽管 iPhone 设置允许使用图库,但权限仍处于“拒绝”状态。如何在应用程序中更改该状态,其余代码是否有意义将图像上传到 Firebase?如何更改屏幕上的实时图像?认为它适用于 .setState() ...

标签: firebaseflutterpermissionsimagepicker

解决方案


推荐阅读