ギャラリーから画像を取得し、それをクロップするインテントに渡すこのコードがあります。すべて正常に動作しますが、これによりギャラリーに新しいトリミングされた画像が作成されるか、古い画像がトリミングされた画像に置き換えられますが、ユーザーが再度変更するまで、新しいトリミングされた画像をプログラムの一時メモリに保持します。
これが私のコードです:
Uri selectedImage = imageReturnedIntent.getData();
final Intent intent = new Intent("com.android.camera.action.CROP");
intent.setData(selectedImage);
intent.putExtra("outputX", width);
intent.putExtra("outputY", height);
intent.putExtra("aspectX", width);
intent.putExtra("aspectY", height);
intent.putExtra("scale", true);
intent.putExtra("noFaceDetection", true);
intent.putExtra("output", selectedImage); // with this enabled it replaces the original image and without it creates new one in gallery.
startActivityForResult(intent, 23);