Как исправить: «flutter: сбой приложения при создании снимка изображения с помощью камеры»

#flutter #android-camera

#флаттер #android-камера

Вопрос:

Я использую мультимедийный пакет для создания снимка с камеры. Всякий раз, когда я «снимаю» изображение с его помощью, приложение вылетает. Я не предпочитаю работать с программой выбора нескольких изображений

    { //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
  

Комментарии:

1. Поскольку эта проблема специфична для плагина, вам следует сообщить об ошибке там.