如何解决图像选择器崩溃的应用错误? [英] How to solve the image picker crash app error?

查看:297
本文介绍了如何解决图像选择器崩溃的应用错误?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

选择图片时,我的应用程序崩溃了。我将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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆