현제 사진 을 총 3장을 등록할 수 있게 레이아웃을 만들었습니다.
case R.id.image_regist_one:
Intent mintent = new Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
mintent.setType(MediaStore.Images.Media.CONTENT_TYPE);
mImageCaptureUri= FileUtils.createCacheFile(SupermomTalk_AddActivity.this);
mintent.putExtra(MediaStore.EXTRA_OUTPUT, mImageCaptureUri); // 임시파일 생성
mintent.putExtra("outputFormat", Bitmap.CompressFormat.JPEG.toString()); // 포맷방식
startActivityForResult(mintent, IMAGE);
break;
첫번째 이미지를 클릭했을때 카메라로 넘어가게끔 했습니다.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if(resultCode != RESULT_OK){
return;
}
switch (requestCode) {
case IMAGE:
Intent intent = null;
Bitmap captureBitmap = null;
try {
captureBitmap = MediaStore.Images.Media.getBitmap(getContentResolver(), data.getData());
intent = new Intent("com.android.camera.action.CROP");
FileUtils.BitmapSaveToFileCach(this, mImageCaptureUri, captureBitmap, 100);
intent.setDataAndType(mImageCaptureUri, "image/*");
intent.putExtra("outputX", 250);
intent.putExtra("outputY", 250);
//크롭 비율 설정.
intent.putExtra("aspectX", 1);
intent.putExtra("aspectY", 1);
intent.putExtra("scale", true);
intent.putExtra("return-data", true);
intent.putExtra("output", mImageCaptureUri);
startActivityForResult(intent, CROP);
} catch (IOException e) {
e.printStackTrace();
}
break;
case CROP:
Bitmap selectedImage = BitmapFactory.decodeFile(mImageCaptureUri.getPath());
Drawable back = new BitmapDrawable(selectedImage);
break;
default:
break;
}
카메라로 넘어간후에 크롭까지 설정이 끝났는데.
문제는 지금제가 사진을 등록해야하는 폼이 총 3개있습니다.
첫 번째 사진등록을 클릭했을때, 두 번째, 세 번째가 있는데 첫번째를 통해서 들어왔다는 것은 어떻게 판별하고 카메라나 갤러리에서 불러온 값을 저장할 수 있을까요?
onActivityResult에서 파라메타로 Intent data가 들어오는데 이것으로 구분을하나요? 그럼 클릭이벤트에서 부터 내가 누군지를 intent에 포함시켜서 타고 넘어와야하는건가요?