diff --git a/packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java b/packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java index c4a7d7ecfa53..68622f76ce5a 100644 --- a/packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java +++ b/packages/image_picker/android/src/main/java/io/flutter/plugins/imagepicker/ImagePickerDelegate.java @@ -419,7 +419,11 @@ private void handleCaptureImageResult(int resultCode) { new OnPathReadyListener() { @Override public void onPathReady(String path) { - handleImageResult(path); + String ansPath = handleImageResult(path); + if (!path.equals(ansPath)) { + File oldFile = new File(path); + oldFile.delete(); + } } }); return; @@ -446,13 +450,14 @@ public void onPathReady(String path) { finishWithSuccess(null); } - private void handleImageResult(String path) { + private String handleImageResult(String path) { if (pendingResult != null) { Double maxWidth = methodCall.argument("maxWidth"); Double maxHeight = methodCall.argument("maxHeight"); String finalImagePath = imageResizer.resizeImageIfNeeded(path, maxWidth, maxHeight); finishWithSuccess(finalImagePath); + return finalImagePath; } else { throw new IllegalStateException("Received image from picker that was not requested"); }