-  JavaScript의 alert()를 가지는 callback 함수는 문제를 야기한다. (alert가 표시되기 전에 이미지를 보여주거나, popover 효과를 나타내는 문제.) 
-  setTimeout(“alert('message');”, 0);로 문제를 해결한다. 
 
-  Quality를 50 이하로 설정해야 특정 단말기에서 나타나는 메모리 오류를 피할 수 있다. 
-  destinationType.FILE_URI 을 사용할 경우, 사진이 어플리케이션의 임시폴더에 저장된다.  
-  어플리케이션이 종료될 때, 어플리케이션 임시폴더 내의 사진들은 삭제된다.  
-  사진들의 용량이 대체로 크기 때문에 navigator.fileMgr 를 통해 단말기의 용량을 조절하여야 한다. 
 
<plugin name="Camera" value="org.apache.cordova.CameraLauncher" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
 
<key>Plugins</key>
    <feature name="Camera">
        <param name="ios-package" value="CDVCamera"/>
    </feature>
 
navigator.camera.getPicture( cameraSuccess, cameraError, [ cameraOptions ] );
navigator.camera.getPicture(onSuccess, onFail, { quality: 50,
    destinationType: Camera.DestinationType.DATA_URL
 }); 
function onSuccess(imageData) {
    var image = document.getElementById('myImage');
    image.src = "data:image/jpeg;base64," + imageData;
}
function onFail(message) {
    alert('Failed because: ' + message);
}
navigator.camera.getPicture(onSuccess, onFail, { quality: 50, 
    destinationType: Camera.DestinationType.FILE_URI }); 
function onSuccess(imageURI) {
    var image = document.getElementById('myImage');
    image.src = imageURI;
}
function onFail(message) {
    alert('Failed because: ' + message);
}
 
navigator.camera.cleanup( cameraSuccess, cameraError );
 
function(imageData) {
    // Do something with the image
}
 
function(message) {
    // Show a helpful message
}
 
{ quality : 75, 
  destinationType : Camera.DestinationType.DATA_URL, 
  sourceType : Camera.PictureSourceType.CAMERA, 
  allowEdit : true,
  encodingType: Camera.EncodingType.JPEG,
  targetWidth: 100,
  targetHeight: 100,
  popoverOptions: CameraPopoverOptions,
  saveToPhotoAlbum: false };
	
		| 유형 | 설명 | 타입 | 비고 | 
	
		| quality | 이미지의 품질(해상도)를 백분율로 정의한다. | Number | 값 : 0 ~ 100 | 
	
		| destinationType | 이미지의 포맷을 정의한다. | Number | 0 : DATA_URL, 1 : FILE_URI | 
	
		| sourceType | 포토 라이브러리, 카메라에서 찍은 사진 등 선택할 소스를 설정한다. | Number | PHOTOLIBRARY : 0, CAMERA : 1,SAVEDPHOTOALBUM : 2 | 
	
		| allowEdit | 이미지 선택 전, 이미지 편집 여부. | Boolean |  | 
	
		| encodingType | 이미지 파일의 인코딩 종류를 정의한다. | Number | JPEG : 0, PNG : 1 | 
	
		| targetWidth | 이미지의 너비(pixel)를 설정한다. | Number | 비율은 고정. | 
	
		| targetHeight | 이미지의 높이(pixel)를 설정한다. | Number | 비율은 고정. | 
	
		| mediaType | pictureSourceType이 PHOTOLIBRARY 또는 SAVEDPHOTOALBUM일 때, 미디어의 타입을 설정한다. | Number |  | 
	
		| correctOrientation | 이미지를 담는동안 이미지 회전 여부. | boolean |  | 
	
		| saveToPhotoAlbum | 이미지를 담은 후, 단말기 저장 여부. | boolean |  | 
	
		| popoverOptions | iPad에서의 popover 옵션 | CameraPopoverOptions |  | 
 Camera.DestinationType = {
        DATA_URL : 0,                // Return image as base64 encoded string
        FILE_URI : 1                 // Return image file URI
    };
Camera.PictureSourceType = {
    PHOTOLIBRARY : 0,
    CAMERA : 1,
    SAVEDPHOTOALBUM : 2
};
 Camera.EncodingType = {
        JPEG : 0,               // Return JPEG encoded image
        PNG : 1                 // Return PNG encoded image
    };
Camera.MediaType = { 
    PICTURE: 0,             // allow selection of still pictures only. DEFAULT. Will return format specified via DestinationType
    VIDEO: 1,               // allow selection of video only, WILL ALWAYS RETURN FILE_URI
    ALLMEDIA : 2            // allow selection from all media types
};
 
{ x : 0, 
  y :  32,
  width : 320,
  height : 480,
  arrowDir : Camera.PopoverArrowDirection.ARROW_ANY
};
	
		| 유형 | 설명 | 타입 | 비고 | 
	
		| x | 화면에서 popover되는 위치의 pixel 단위 x축. | Number |  | 
	
		| y | 화면에서 popover되는 위치의 pixel 단위 y축. | Number |  | 
	
		| width | 화면에서 popover되는 요소에 대한 pixel 단위의 너비 값. | Number |  | 
	
		| height | 화면에서 popover되는 요소에 대한 pixel 단위의 높이 값. | Number |  | 
	
		| arrowDir | popover 되는 방향. | Camera.PopoverArrowDirection |  | 
Camera.PopoverArrowDirection = {
        ARROW_UP : 1,        // matches iOS UIPopoverArrowDirection constants
        ARROW_DOWN : 2,
        ARROW_LEFT : 4,
        ARROW_RIGHT : 8,
        ARROW_ANY : 15
    };