안드로이드 개발 질문/답변
(글 수 45,052)
지금 현재 문제가.. 갤럭시s 1,2에서는 사진 찍을때 문제가 발생되지 않지만,
다른 핸드폰 기종 몇가지를 테스트를 해봤는데.. 2번 이상 찍어야지만, 다음 화면으로 넘어가고,
갤럭시탭 같은 경우에는 아예 종료되는 현상 까지 발생되더라고요..
혹시.. 이런 방법은 기종마다 차이점이 발생되는 문제라고 들은적이 있습니다.
이럴때 어떻게 구현을 해야할지 계속 고민해봐도 정답이 없어서요 ㅠㅠ
부탁드리겠습니다.
수고하세요!!
//이미지선택 및 갤러리 전송하기
Image_select = i.getStringExtra("photo");
if(Image_select != null){
if(Image_select != null){
if(Image_select.equals("select")){
intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.putExtra("picgubun", "1");
intent.setType("image/*");
startActivityForResult(intent,IMGSHOW);
}else if(Image_select.equals("capture")){
intent = new Intent("android.media.action.IMAGE_CAPTURE");
startActivityForResult(intent, CAPTURE);
}
}
// 전송한것 받기 처리
protected void onActivityResult(int requestCode, int resultCode, Intent data)
{
if(resultCode == RESULT_CANCELED){ //취소할때
onBackPressed();
//추가 2011-12-23
intent = new Intent(getApplicationContext(),Invitation_List.class);
startActivity(intent);
}else if(resultCode == RESULT_OK){
if(requestCode == IMGSHOW) {
ImgUri = data.getData();
if(ImgUri != null){//이미지를 가져올때
BitmapFactory.Options bfo = new BitmapFactory.Options();
bfo.inSampleSize = 1;
SelPhoto = BitmapFactory.decodeFile(getRealPathFromURI(ImgUri), bfo);
Select_image.setImageBitmap(SelPhoto);
}
}else if(requestCode == CAPTURE){
SelPhoto = (Bitmap)data.getExtras().get("data");
if(SelPhoto != null){//사진을 찍었을때
Select_image.setImageBitmap(SelPhoto);
pic();
}
}
}else if(requestCode != RESULT_OK){
return;
}
}
//사진 uri 값 가져옴
public void pic(){//사진찍고 마지막 사진 정보 값
ImgUri2 = -1;
Uri uriImages = MediaStore.Images.Media.EXTERNAL_CONTENT_URI;
String[] IMAGE_PROJECTION = {
MediaStore.Images.ImageColumns.DATA, //데이터의 파일 절대 경로(문자열형)
MediaStore.Images.ImageColumns._ID, //데이터의 테이블상의 아이디(정수형)
};
Cursor cursoImages = getContentResolver().query(uriImages, IMAGE_PROJECTION, null, null, null);
if(cursoImages != null && cursoImages.moveToLast()){
ImgUri2 = cursoImages.getInt(1);
cursoImages.close();
}
}




저도 현재 비슷한 문제가 있는데요. 파라미터로 다른 액티비티에 비트맵을 넘겨주는 부분을 안드로이드에 제공하는 미디어 저장하는 서비스를 이용해서 디렉토리에 저장하게 한 후 해당 이미지의 파일명만 넘겨주었습니다. 그랬더니 저장은 잘 되더라구요. 미디어 저장에 대한 아래 링크한번 참조해 보세요.
http://developer.android.com/guide/topics/media/camera.html#saving-media