我正在使用 image_picker 0.6.7+17 库以使用手机摄像头拍摄图像。
我使用的是 android 设备而不是 ios 设备。
似乎没有定义 getImage
方法,我从 docs 中获取了这个确切的代码:
final picker = ImagePicker();
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.camera);
}
我收到此错误:
lib/pickers/image_picker.dart:17:37: Error: The method 'getImage' isn't defined for the class
'ImagePicker'.
- 'ImagePicker' is from 'package:chat_app/pickers/image_picker.dart'
('lib/pickers/image_picker.dart').
Try correcting the name to the name of an existing method, or defining a method named 'getImage'.
final pickedFile = await picker.getImage(source: ImageSource.camera);
^^^^^^^^
到目前为止我做了什么:
dependencies:
flutter:
sdk: flutter
cupertino_icons: ^1.0.0
cloud_firestore: 0.13.5
firebase_auth: 0.16.1
image_picker: ^0.6.7+17
将 android:requestLegacyExternalStorage="true"
添加到 AndroidManifest.xml
文件
还导入了 import 'package:image_picker/image_picker.dart'
以使用此库
可能是什么问题?
答案 0 :(得分:3)
您确定您使用的 ImagePicker
不是此 package:chat_app/pickers/image_picker.dart
中的那个吗?可能存在类名冲突,您必须重命名自己的 ImagePicker
类
答案 1 :(得分:3)
您正在尝试使用带有指定使用新 API 的插件版本的旧 API。 旧 API
File image = await ImagePicker.pickImage(...)
新 API
final _picker = ImagePicker();
.
.
.
PickedFile image = await _picker.getImage(...)
答案 2 :(得分:1)
我通过定义这样的选择器解决了同样的问题
LINESTRING
然后使用这个
final picker = ImagePicker();
答案 3 :(得分:-1)
只需升级到最新版本的 image_picker。 并将 getImage 替换为 pickImage bcz getImage 已弃用。