혹시 다른 액티비티로 crop한 사진을 놓이게끔 할 수 없나요?

(공지 읽음)

 

@Override
 public void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.picturelayout);
  
   
  callActivityButton = (Button)findViewById(R.id.cameraButton);
  image = (ImageView)findViewById(R.id.imageView);
  callActivityButton.setOnClickListener(this);

 }

 

cameraButton을 누르면 사진을 찍거나 갤러리에서 사진을 가져온 후 crop을 합니다.

crop을 한 후 버튼이 있던 액티비티에 있는 이미지뷰에 그 사진이 놓여지는데

그 액티비티가 아닌 다른 액티비티에 그 사진을 놓는 방법이 없을까요?

-------------------------

 

@Override
 protected void onActivityResult(int requestCode, int resultCode, Intent data)
 {
  if(resultCode != RESULT_OK)
  {
   return;
  }

  switch(requestCode)
  {
   case CROP_FROM_CAMERA:
   {
    // 크롭이 된 이후의 이미지를 넘겨 받습니다. 이미지뷰에 이미지를 보여준다거나 부가적인 작업 이후에
    // 임시 파일을 삭제합니다.
    final Bundle extras = data.getExtras();
 
    if(extras != null)
    {
     Bitmap photo = extras.getParcelable("data");
     image.setImageBitmap(photo);
     
    }
 
    /* 임시 파일 삭제
    File f = new File(mImageCaptureUri.getPath());
    if(f.exists())
    {
     f.delete();
    }*/
 
    break;
   }
 
   case PICK_FROM_ALBUM:
   {
    // 이후의 처리가 카메라와 같으므로 일단  break없이 진행합니다.
    // 실제 코드에서는 좀더 합리적인 방법을 선택하시기 바랍니다.
    
    mImageCaptureUri = data.getData();
   }
   
   case PICK_FROM_CAMERA:
   {
    // 이미지를 가져온 이후의 리사이즈할 이미지 크기를 결정합니다.
    // 이후에 이미지 크롭 어플리케이션을 호출하게 됩니다.
 
    
    Intent intent = new Intent("com.android.camera.action.CROP");
    intent.setDataAndType(mImageCaptureUri, "image/*");
 
    intent.putExtra("outputX", 300);
    intent.putExtra("outputY", 300);
    intent.putExtra("aspectX", 1);
    intent.putExtra("aspectY", 1);
    //intent.putExtra("scale", true);
    intent.putExtra("noFaceDetection", true);
    intent.putExtra("return-data", true);
   
    startActivityForResult(intent, CROP_FROM_CAMERA);
 
    break;
   }
  }
 }