Flutter 如何修复:“;颤振:当我使用相机拍摄图像时,应用程序崩溃;

Flutter 如何修复:“;颤振:当我使用相机拍摄图像时,应用程序崩溃;,flutter,android-camera,Flutter,Android Camera,我正在使用多媒体软件包从相机中捕捉图像。每当我使用它“拍摄”图像时,应用程序就会崩溃。我不喜欢使用多图像选择器 { //function Future getImage(bool isCamera ) async { print(images); List<File> imagestemp = []; if(isCamera){ // the problem is in this section

我正在使用多媒体软件包从相机中捕捉图像。每当我使用它“拍摄”图像时,应用程序就会崩溃。我不喜欢使用多图像选择器

   { //function 

    Future getImage(bool isCamera ) async {
        print(images);
        List<File> imagestemp = [];
        if(isCamera){
        // the problem is in this section
          imagestemp = await MultiMediaPicker.pickImages(source: ImageSource.camera,singleImage: true);
        print(imagestemp);}
        else {
          imagestemp= await MultiMediaPicker.pickImages(source: ImageSource.gallery);
        }
        setState(() {
          images = [images, imagestemp].expand((x) => x).toList();
        });
}

ERROR:
com.example.hackathonstar.MainActivity}: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
E/AndroidRuntime(22980):        at android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime(22980):        at android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime(22980):        at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(22980):        at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(22980):        at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(22980):        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(22980):        at android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(22980):        at android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(22980):        at android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(22980):        at java.lang.reflect.Method.invoke(Native Method)
E/AndroidRuntime(22980):        at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(22980):        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(22980): Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'java.lang.String android.net.Uri.getPath()' on a null object reference
E/AndroidRuntime(22980):        at io.flutter.plugins.imagepicker.ImagePickerDelegate$3.getFullImagePath(ImagePickerDelegate.java:145)
E/AndroidRuntime(22980):        at io.flutter.plugins.imagepicker.ImagePickerDelegate.handleCaptureImageResult(ImagePickerDelegate.java:393)
E/AndroidRuntime(22980):        at io.flutter.plugins.imagepicker.ImagePickerDelegate.onActivityResult(ImagePickerDelegate.java:354)
E/AndroidRuntime(22980):        at io.flutter.app.FlutterPluginRegistry.onActivityResult(FlutterPluginRegistry.java:210)
E/AndroidRuntime(22980):        at io.flutter.app.FlutterActivityDelegate.onActivityResult(FlutterActivityDelegate.java:143)
E/AndroidRuntime(22980):        at io.flutter.app.FlutterActivity.onActivityResult(FlutterActivity.java:142)
E/AndroidRuntime(22980):        at android.app.Activity.dispatchActivityResult(Activity.java:7454)
E/AndroidRuntime(22980):        at android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime(22980):        ... 11 more
{//函数
未来getImage(bool isCamera)异步{
印刷(图像);
列表imagestemp=[];
如果(isCamera){
//问题就在这一部分
imagestemp=wait MultiMediaPicker.pickImages(源:ImageSource.camera,singleImage:true);
打印(imagestemp);}
否则{
imagestemp=wait MultiMediaPicker.pickmages(来源:ImageSource.gallery);
}
设置状态(){
images=[images,imagestemp].expand((x)=>x.toList();
});
}
错误:
com.example.hackathonstar.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.net.Uri.getPath()”
E/AndroidRuntime(22980):位于android.app.ActivityThread.deliverResults(ActivityThread.java:4360)
E/AndroidRuntime(22980):位于android.app.ActivityThread.handleSendResult(ActivityThread.java:4402)
E/AndroidRuntime(22980):在android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:49)
E/AndroidRuntime(22980):位于android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:108)
E/AndroidRuntime(22980):在android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:68)
E/AndroidRuntime(22980):位于android.app.ActivityThread$H.handleMessage(ActivityThread.java:1808)
E/AndroidRuntime(22980):位于android.os.Handler.dispatchMessage(Handler.java:106)
E/AndroidRuntime(22980):位于android.os.Looper.loop(Looper.java:193)
E/AndroidRuntime(22980):位于android.app.ActivityThread.main(ActivityThread.java:6669)
E/AndroidRuntime(22980):位于java.lang.reflect.Method.invoke(本机方法)
E/AndroidRuntime(22980):位于com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E/AndroidRuntime(22980):位于com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
E/AndroidRuntime(22980):由以下原因引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“java.lang.String android.net.Uri.getPath()”
E/AndroidRuntime(22980):在io.flift.plugins.imagepicker.ImagePickerDelegate$3.getFullImagePath(ImagePickerDelegate.java:145)
E/AndroidRuntime(22980):在io.flatter.plugins.imagepicker.ImagePickerDelegate.handleCaptureImageResult(ImagePickerDelegate.java:393)
E/AndroidRuntime(22980):at io.flatter.plugins.imagepicker.ImagePickerDelegate.onActivityResult(ImagePickerDelegate.java:354)
E/AndroidRuntime(22980):在io.flatter.app.flatterPluginRegistry.onActivityResult(flatterPluginRegistry.java:210)
E/AndroidRuntime(22980):在io.flatter.app.flatterActivityDelegate.onActivityResult(flatterActivityDelegate.java:143)
E/AndroidRuntime(22980):在io.flatter.app.flatterActivity.onActivityResult(flatterActivity.java:142)
E/AndroidRuntime(22980):位于android.app.Activity.dispatchActivityResult(Activity.java:7454)
E/AndroidRuntime(22980):位于android.app.ActivityThread.deliverResults(ActivityThread.java:4353)
E/AndroidRuntime(22980):。。。还有11个

由于此问题特定于插件,因此您应该在那里提交一个bug。