从Flutter中的图库或相机中选择图像

问题描述 投票:1回答:1

我试图给用户一个方法来添加他们的画廊或他们的相机中的照片,但是,按下按钮后,颤动不断崩溃。

我已经实现了图像选择器依赖以及Dart:io,迁移到Android X但仍然没有运气。这是我的一些代码:

class _PreferencesState extends State<_Preferences>
    with TickerProviderStateMixin {

文件_image;

getImage(bool isCamera)async {File image;

if (isCamera) {
  image = await ImagePicker.pickImage(source: ImageSource.camera);
} else {
  image = await ImagePicker.pickImage(source: ImageSource.gallery);
}

setState(() {
  _image = image;
});

}

然后叫这里:

   FlatButton(
                                  textColor: Theme.of(context).primaryColor,
                                  child: Text('Use Camera'),
                                  onPressed: () {
                                    getImage(true);
                                  },
  _image == null
                            ? Container()
                            : Image.file(
                                _image,
                                height: 300,
                                width: 300,
                              ),    

每当我调用该方法时,我都会收到此错误:

发生了例外情况。 PlatformException(PlatformException(错误,尝试在空对象引用上调用虚拟方法'android.content.res.XmlResourceParser android.content.pm.ProviderInfo.loadXmlMetaData(android.content.pm.PackageManager,java.lang.String)',空值))

我以为我从null更改了图像类型,所以它不会被调用但是,我不知道还有什么可以做的。

flutter flutter-dependencies
1个回答
1
投票

崩溃可能是由于相机的许可。 Image picker插件已删除相机许可条件。当我们访问相机时,应用程序要求我们许可,但不再支持此条件。我们需要使用permission_handler插件手动询问权限。阅读有关此更改的更多详细信息here,并参阅this链接,了解如何使用permission_handler添加运行时权限。希望这可以解决您的问题。

© www.soinside.com 2019 - 2024. All rights reserved.