안녕하세요 activity 변환에 문제가 생겨서 질문 드립니다.

 

 case PICK_FROM_ALBUM : {
    Bitmap photo=null;
    mImageCaptureUri = data.getData();
   
    try {
     photo = Images.Media.getBitmap(getContentResolver(), mImageCaptureUri);
    } catch (FileNotFoundException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } catch (IOException e) {
     // TODO Auto-generated catch block
     e.printStackTrace();
    } 
    
    if(photo != null)
     try {
      mPhotoImageView.setImageBitmap(photo);
      FileOutputStream fos = new FileOutputStream(outFilePath);
      photo.compress(CompressFormat.JPEG, 100, fos); 
      fos.flush(); 
      fos.close();
     } catch(Exception e) {Log.e(TAG, "" + requestCode + " : " + e.toString());}
    else {
     Log.e(TAG, "Bitmap is null");
     return;
    }
    
    Intent intent = new Intent(this, CropImageActivity.class);
    startActivityForResult(intent, CROP_FROM_CAMERA);
    overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
    break;
   }

  sd카드에서 사진을 읽어와서 원하는 부분을 자르는 프로그램을 만들고 있습니다.

 

현재 activity에서 사진을 읽어오고 읽어온 사진을 다른 activity에서 crop한 후 다시 현재 activity에서 출력하는 프로그램을 짜는데요

 

위 코드에서

 

startActivityForResult(intent, CROP_FROM_CAMERA);

 

이부분을 실행하면 프로그램이 죽어버리네요.

 

안드로이드 폰에서 sd카드를 읽어와야 해서 연결한 상태로 프로그램 실행이 안되서 log가 나오지 않아서 해결하기가 더 힘드네요 '';

 

밑에 코드가 Intent를 만들때 사용하는 코드인데요

 

package image.crop;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
public class CropImageActivity extends Activity implements OnClickListener {
 CropImage ci;
 public void onCreate(Bundle icicle) {
  super.onCreate(icicle);
  getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
  setContentView(R.layout.cropactivity);
 
  ci = (CropImage)findViewById(R.id.cropview);
  findViewById(R.id.btn_ok).setOnClickListener(this);
  findViewById(R.id.btn_cancle).setOnClickListener(this);
 }
 
 public void onClick(View v) {
  Intent i = getIntent();
  if(v.getId() == R.id.btn_ok) {
   ci.save();
   setResult(RESULT_OK, i);
  }
  if(v.getId() == R.id.btn_cancle) {
   setResult(RESULT_CANCELED, i);
  }
  System.gc();
  finish();
 }
}

여기서 코드자체에 문제가 있는가 싶어서

 

onCreate 부분에서

 

super.onCreate(icicle); 이 부분만 남기고 모두 지우고 실행해봐도 계속 프로그램이 죽어요

 

Intent를 만들 때 제가 잘못된 방법을 사용한 것일까요...?

 

해결방법 좀 부탁드립니다