firebase - 授予阅读和使用照片的权限
问题描述
我想让我的用户有机会上传个人资料图片。因此,我用 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() ...
解决方案
推荐阅读
- python - 在 TKinter 的回调函数中取消选择小部件
- sql - 使用 NTH_VALUE 查找不同的值
- java - 在收到对等方的 close_notify 之前关闭入站
- python - SQL:SELECT,其中许多列之一包含“x”并且结果不是“NULL”
- javascript - Safari顶部,左侧过渡问题
- sql - 哪个更快:2条插入语句,每条175K记录或1条语句在PostgreSQL中插入350K记录
- arrays - 两个数组,一个有时间,另一个有时间
- angular - 具有可观察添加选择值的 Angular ngFor
- jenkins - Openshift/Jenkins I want to change the version of the Jenkins which is in the persistent template in the browse catalog
- html - 即使从控制器更新后,Textarea ng-model 也会保留最后一个值