【发布时间】:2021-06-14 02:16:47
【问题描述】:
我在我的应用中使用 image_picker: ^0.7.2+1 here
我正在使用此代码打开相机
File _image;
final picker = ImagePicker();
Future getImage() async {
final pickedFile = await picker.getImage(source: ImageSource.camera);
setState(() {
if (pickedFile != null) {
_image = File(pickedFile.path);
} else {
print('No image selected.');
}
});
}
还在 android/app/src/main/AndroidManifest.xml 中添加了这些权限
<uses-permission android:name="android.permission.CAMERA" />
<uses-feature android:name="android.hardware.camera" />
<uses-feature android:name="android.hardware.camera.autofocus" />
<uses-permission android:name="android.permission.INTERNET"
使用上述软件包后,当我的相机立即打开时,应用程序崩溃并且在终端中没有错误消息,它只是说设备已断开连接。 (应用程序崩溃是指应用程序自动重启(从启动屏幕)并且捕获的图像也丢失了)
上述应用程序崩溃问题仅出现在 android 10 或更高版本的 android 版本中,也出现在 android 10 或更高版本 (android 11) 中,而且这个包不要求在 android 10 或 11 中获得相机的许可,我猜这可能是实际的这个问题背后的问题
当我使用 android 8 或 android 版本低于 android 10 的设备时,image_picker: ^0.7.2+1 here 与上面给定的代码完全相同(代码中没有任何更改,只是将设备从 android 更改为11 到 android 8) 应用程序按预期请求许可,然后相机打开并成功捕获图片,因此一切正常,同样的事情在 android 10 或 android 11 中失败
注意:我也尝试将 permission_handler 插件与 image_picker 一起使用,但它也对我不起作用
谁能帮我解决这个问题
如果有人知道 image_picker 的任何替代代码或包,请告诉我.. 我只是想从相机中拍张照片
【问题讨论】:
标签: flutter dart plugins camera imagepicker