안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요 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를 만들 때 제가 잘못된 방법을 사용한 것일까요...?
해결방법 좀 부탁드립니다




메니페스트에 액티비티를 등록하지 않았을 수도 있을 것 같군요.
AndroidManifest.xml 파일을 확인해보세요