如何解决图像选择器崩溃的应用错误? [英] How to solve the image picker crash app error?
问题描述
选择图片时,我的应用程序崩溃了。我将image_picker:0.5.0 + 7
与任何ImageSource一起使用会使应用程序崩溃。
I have a app crash when i'm picking a image. i'm using image_picker:0.5.0+7 with any ImageSource it's crash the app.
File _fileState;
File _fileState;
Future getImage(ImageSource imageSource) async{
// using your method of getting an image
final File image = await ImagePicker.pickImage(source: imageSource);
print("path:: ");
setState(() {
// print("path:: "+image.path);
_fileState = image;
});
}
关闭VM
E / AndroidRuntime(16049):致命异常:主
E / AndroidRuntime(16049):进程:com.grain.test_camera,PID:16049
E / AndroidRuntime(16049):java.lang。 RuntimeException:无法恢复活动
{com.grain.test_camera / com.grain.test_camera.MainActivity}:
java.lang.RuntimeException:无法提供
结果结果InfoInfo {who = null, request = 2342,result = -1,data = Intent {
dat = content://com.android.providers.media.documents/document/image:25272
flg = 0x1}}到活动{ com.grain.test
_camera / com.grain.test_camera.MainActivity}:java.lang.IllegalStateException:从选择器接收到的图像是
,未请求
E / AndroidRuntime(16049): android.app.ActivityThread.performResumeActivity(ActivityThread.java:3506)
E / AndroidRuntime(16049):位于android.app.ActivityThread.handleResumeActivity(Ac tivityThread.java:3546)
E / AndroidRuntime(16049):位于android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2795)
E / AndroidRuntime(16049):位于android.app.ActivityThread。 -wrap12(ActivityThread.java)
E / AndroidRuntime(16049):在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1527)
E / AndroidRuntime(16049):在android.os .Handler.dispatchMessage(Handler.java:110)
E / AndroidRuntime(16049):在android.os.Looper.loop(Looper.java:203)
E / AndroidRuntime(16049):在android .app.ActivityThread.main(ActivityThread.java:6251)
E / AndroidRuntime(16049):在java.lang.reflect.Method.invoke(本机方法)
E / AndroidRuntime(16049):在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:1063)
E / AndroidRuntime(16049):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924)
E / AndroidRun time(16049):原因:java.lang.RuntimeException:无法传递结果ResultInfo {who = null,request = 2342,
result = -1,data = Intent {dat = content://com.android。向活动{com.grain.test_camera / com.grain.test_camera.MainActivity}提供
ers.media.documents / document / image:25272 flg = 0x1}}:
java.lang.IllegalStateException:已收到来自选择者
r的未被请求的图像
Shutting down VM E/AndroidRuntime(16049): FATAL EXCEPTION: main E/AndroidRuntime(16049): Process: com.grain.test_camera, PID: 16049 E/AndroidRuntime(16049): java.lang.RuntimeException: Unable to resume activity {com.grain.test_camera/com.grain.test_camera.MainActivity}: java.lang.RuntimeException: Failure deliver ing result ResultInfo{who=null, request=2342, result=-1, data=Intent { dat=content://com.android.providers.media.documents/document/image:25272 flg=0x1 }} to activity {com.grain.test _camera/com.grain.test_camera.MainActivity}: java.lang.IllegalStateException: Received image from picker that was not requested E/AndroidRuntime(16049): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:3506) E/AndroidRuntime(16049): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:3546) E/AndroidRuntime(16049): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2795) E/AndroidRuntime(16049): at android.app.ActivityThread.-wrap12(ActivityThread.java) E/AndroidRuntime(16049): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1527) E/AndroidRuntime(16049): at android.os.Handler.dispatchMessage(Handler.java:110) E/AndroidRuntime(16049): at android.os.Looper.loop(Looper.java:203) E/AndroidRuntime(16049): at android.app.ActivityThread.main(ActivityThread.java:6251) E/AndroidRuntime(16049): at java.lang.reflect.Method.invoke(Native Method) E/AndroidRuntime(16049): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1063) E/AndroidRuntime(16049): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:924) E/AndroidRuntime(16049): Caused by: java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=2342, result=-1, data=Intent { dat=content://com.android.provid ers.media.documents/document/image:25272 flg=0x1 }} to activity {com.grain.test_camera/com.grain.test_camera.MainActivity}: java.lang.IllegalStateException: Received image from picke r that was not requested
我不知道该怎么办,请帮助我
I do not know what I can do please help me
推荐答案
似乎image_picker文档已更新。
It seems image_picker documentation has been updated.
您必须使用 retrieveLostData
当应用重新启动时(迁移到AndroidX否则您可能会遇到强制关闭错误)
You would have to use retrieveLostData
when the app restarts (migrate to AndroidX else you may get a force close error)
Future<void> retrieveLostData() async {
final LostDataResponse response = await ImagePicker.retrieveLostData();
if (response == null) {
return;
}
if (response.file != null) {
setState(() {
if (response.type == RetrieveType.video) {
_handleVideo(response.file);
} else {
_handleImage(response.file);
}
});
} else {
_handleError(response.exception);
}
}
这篇关于如何解决图像选择器崩溃的应用错误?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!