android 호출 시스템 사진 찍기

1950 단어 CameraPhoto
1. 클릭해서 사진 찍기
4
//   uuid        
				Settings.PICTURE_TMPURL = UUID.randomUUID().toString() + "image.jpg";
				//            
				File tempFile = new File(Settings.TEMP_PATH, Settings.PICTURE_TMPURL);
				Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
				intent.putExtra(MediaStore.EXTRA_OUTPUT, Uri.fromFile(tempFile));
				((Activity) mContext).startActivityForResult(intent, Constants.REQUEST_CODE_CAMERA);
				dismiss();
이런 방식으로 intent에 사진 찍은 후 파일이 저장된 위치를 전송해야 한다. onActivity Result에서 되돌아오는 intent는null이고 이전에 설정한 파일을 통해bitmap을 가져와야 한다.
if (arg0 == Constants.REQUEST_CODE_CAMERA && arg1 == Activity.RESULT_OK) {
			//     
			
				tempFile = new File(Settings.TEMP_PATH, Settings.PICTURE_TMPURL);
				if (tempFile.exists()) {
					onGetFileListener.AfterGetFile(tempFile);
				}
			
		}

2. 사진을 찍기 위해 클릭하면 되돌아오는bitmap을 통해 파일에 저장
 Intent cameraIntent = new Intent( android.provider.MediaStore.ACTION_IMAGE_CAPTURE);  
    startActivityForResult(cameraIntent, CAMERA_REQUEST);  

되돌아온 후 intent에서 되돌아온bitmap을 통해 해당하는 처리를 합니다
   if(requestCode == CAMERA_REQUEST && resultCode == RESULT_OK && data.getExtras().get("data")!=null){  
            if(rsd.getPhoto1URL() != null){  //           
                deleteImgage(rsd.getPhoto1URL());  
            }  
            Bitmap photo = (Bitmap)data.getExtras().get("data");  
            File baseFile = FileHelper.getPicBaseFile();  
            if(baseFile == null){  
                showLongMessage("SD    ,   SD   ");  
                return;  
            }  
            String fileName = getFileName();   //      
            rsd.setPhoto1URL(fileName);  
            saveBitmap(photo, fileName, baseFile);  
            imgPhoto.setImageBitmap(photo);  
        }  

좋은 웹페이지 즐겨찾기