올해는 머신러닝이다.
Android] intent 사진찍고 결과받기 본문
출처 : http://louise.tistory.com/71
참조 : 갤럭시S 중복 저장 문제 http://www.androidpub.com/733994
갤러리에 저장해서 불러오기: http://moss.tistory.com/7
*. 사진 찍기
0. request code 정의
private final static int ACT_TAKE_PIC = 1;
1. 원하는 지점에서 intent 호출
Intent cameraIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
startActivityForResult(cameraIntent,ACT_TAKE_PIC);
2. 결과 받기.
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch(requestCode) {
case ACT_TAKE_PIC:
if (resultCode == RESULT_OK)
{
try{
(Bitmap)data.getExtras().get("data"); //섬네일
} catch(Exception e){
}
}
break;
}
}
3. 섬네일 이외의 풀사이즈를 받기 위해서는
MediaStore.EXTRA_OUTPUT으로 uri를 지정해주어야 한다.
intent 호출시 아래 추가.
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/my/", "pic.jpg");
cameraIntent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(file));
결과 처리시 Access
** 이때 메모리 부족으로 호출한 Activity가 dealloc될수 있음을 상기하자 또한 이때 onActivityResult() Intent data값이 null이 들어 올수도 있다.
(Bitmap)data.getExtras().get(MediaStore.EXTRA_OUTPUT);
* Bitmap Uri에서 불러오기
File file = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"/my/", "pic.jpg");
Bitmap bm = Media.getBitmap(getContentResolver(), Uri.fromFile(file));
* Image View에 Bitmap 설정
Bitmap bm = (Bitmap) data.getExtras().get("data");
imgPic.setImageBitmap(bm);
imgPic.setScaleType(ImageView.ScaleType.FIT_XY);
'Android > Tip&Tech' 카테고리의 다른 글
갤러리를 이용한 페이지 컨트롤 구현 (0) | 2011.05.11 |
---|---|
GestureDetector 관한 설명[펌] (0) | 2011.05.10 |
http://blog.naver.com/biboi99?Redirect=Log&logNo=90108496796 (0) | 2011.05.04 |
애플 푸시서버 사용시 구동되는 서버쪽 (0) | 2011.05.04 |
텝 관련 팁 모음 (0) | 2011.05.04 |