关于flutter的image_picker的问题

问题描述

使用image_picker,在安装好后,点击按钮报错。错误信息如下图:

clipboard.png

问题出现的环境背景及自己尝试过哪些方法

我对flutter还不太熟(真萌新),在已有安卓项目中混入flutter模块工作内容中,使用image_picker插件。这个插件最新的版本,需要我把整个项目迁移到AndroidX,因为是原生已有项目,那边有人在负责,并且他们不觉得有必要。所以按我的理解,我就用了image_picker的0.4.12+1版本。
在此确保自己已经在添加插件后执行了Packages get操作,另外的,flutter clean和clean Project甚至清除缓存重启AS也都试过。
另外百度过,不过...没找到解决方法。
flutter run和flutter build也试过,不过报错,原因是flutter module部分没有对应的android mainifest.xml文件?

相关代码

// 相关功能代码如下:

import 'dart:async';
import 'dart:io';
import 'package:flutter/material.dart';
import 'package:image_picker/image_picker.dart';
File img;
Future getImage() async {

print("swfwrfs");
var image = await ImagePicker.pickImage(source: ImageSource.camera);
setState(() {
  img = image;
});

}

Widget _ImgView() {

if(img == null) {
  return GestureDetector(
    onTap: () {
      getImage();
    },
    child: Container(
      width: ScreenUtil.getInstance().setWidth(163),
      height: ScreenUtil.getInstance().setWidth(163),
      child: Image(image: AssetImage('assets/addPic.png'),width: ScreenUtil.getInstance().setWidth(163)),
    ),
  );
}else{
  return GestureDetector(
    onTap: () {
      getImage();
    },
    child: Container(
      width: ScreenUtil.getInstance().setWidth(163),
      height: ScreenUtil.getInstance().setWidth(163),
      child: Image.file(img),
    ),
  );
}

}
@override
Widget build(BuildContext context) {

//...
_ImgView()
//...

}

你期待的结果是什么?实际看到的错误信息又是什么?

期待的结果就是能顺利拍个照片,然后把拍好的图片展示出来...
同时也期待有经验的前辈多多指教,感激不尽,如果确实想的话可以发个红包啥的...


2019年8月20日更新
不过有趣的是,我重新建了一个项目,然后,点击按钮的时候没有报这个错了(虽然后续,,,拍好照片点击确认以后,回到原界面,依旧是一片空白......以及,再次点击的时候就会报一个错说[ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: PlatformException(already_active, Image picker is already active, null)),我有时候在想,会不会是自己在用的手机的缘故,荣耀10...

阅读 8k
1 个回答
新手上路,请多包涵

你需要先注册插件

public class MainActivity extends FlutterActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    GeneratedPluginRegistrant.registerWith(this);
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题