title: PhoneGap Camera API for Android - Uncaught Exception
body: <p>I am trying to run the Camera API using Phone gap in Android, and i am running in all sort of issues.</p>
  
  <p>I just copied phonegap camera example. </p>
  
  <p>I am getting the following error</p>
  
  <pre><code>07-12 18:18:00.706: E/Web Console(17837): Uncaught TypeError: Cannot read property 'SAVEDPHOTOALBUM' of undefined at file:///android_asset/www/index.html:98
  
  07-12 18:17:59.456: E/Web Console(17837): Uncaught ReferenceError: Camera is not defined at file:///android_asset/www/index.html:67
  </code></pre>
  
  <p>I tried all the other destination type. It dint work</p>
  
  <pre><code>destinationType: destinationType.FILE_URI
  destinationType: Camera.DestinationType.FILE_URI
  destinationType: destinationType.DATA_URL
  </code></pre>
  
  <p>Also i added the permission for Camera and hardware camera permission. But still it failed</p>
  
  <p>Here is the following</p>
  
  <pre><code>&lt;!DOCTYPE html&gt;
  &lt;html&gt;
  &lt;head&gt;
  &lt;title&gt;Capture Photo&lt;/title&gt;
  
  &lt;script type="text/javascript" charset="utf-8" src="phonegap-1.0.0.js"&gt;&lt;/script&gt;
  &lt;script type="text/javascript" charset="utf-8"&gt;
  
  var pictureSource;   // picture source
  var destinationType; // sets the format of returned value 
  
  // Wait for PhoneGap to connect with the device
  //
  document.addEventListener("deviceready",onDeviceReady,false);
  
  // PhoneGap is ready to be used!
  //
  function onDeviceReady() {
      pictureSource=navigator.camera.PictureSourceType;
      destinationType=navigator.camera.DestinationType;
  }
  
  // Called when a photo is successfully retrieved
  //
  function onPhotoDataSuccess(imageData) {
    // Uncomment to view the base64 encoded image data
    // console.log(imageData);
  
    // Get image handle
    //
    var smallImage = document.getElementById('smallImage');
  
    // Unhide image elements
    //
    smallImage.style.display = 'block';
  
    // Show the captured photo
    // The inline CSS rules are used to resize the image
    //
    smallImage.src = "data:image/jpeg;base64," + imageData;
  }
  
  // Called when a photo is successfully retrieved
  //
  function onPhotoURISuccess(imageURI) {
    // Uncomment to view the image file URI 
    // console.log(imageURI);
  
    // Get image handle
    //
    var largeImage = document.getElementById('largeImage');
  
    // Unhide image elements
    //
    largeImage.style.display = 'block';
  
    // Show the captured photo
    // The inline CSS rules are used to resize the image
    //
    largeImage.src = imageURI;
  }
  
  // A button will call this function
  //
  function capturePhoto() {
    // Take picture using device camera and retrieve image as base64-encoded string
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, {destinationType: Camera.DestinationType.FILE_URI, quality: 50 });
  }
  
  // A button will call this function
  //
  function capturePhotoEdit() {
    // Take picture using device camera, allow edit, and retrieve image as base64-encoded string  
    navigator.camera.getPicture(onPhotoDataSuccess, onFail, { destinationType: Camera.DestinationType.FILE_URI,quality: 20, allowEdit: true }); 
  }
  
  // A button will call this function
  //
  function getPhoto(source) {
    // Retrieve image file location from specified source
    navigator.camera.getPicture(onPhotoURISuccess, onFail, { quality: 50, 
      destinationType: Camera.DestinationType.FILE_URI,
      sourceType: source });
  }
  
  // Called if something bad happens.
  // 
  function onFail(message) {
    alert('Failed because: ' + message);
  }
  
  &lt;/script&gt;
  &lt;/head&gt;
  &lt;body&gt;
  &lt;button onclick="capturePhoto();"&gt;Capture Photo&lt;/button&gt; &lt;br&gt;
  &lt;button onclick="capturePhotoEdit();"&gt;Capture Editable Photo&lt;/button&gt; &lt;br&gt;
  &lt;button onclick="getPhoto(pictureSource.PHOTOLIBRARY);"&gt;From Photo Library&lt;/button&gt;&lt;br&gt;
  &lt;button onclick="getPhoto(pictureSource.SAVEDPHOTOALBUM);"&gt;From Photo Album&lt;/button&gt;&lt;br&gt;
  &lt;img style="display:none;width:60px;height:60px;" id="smallImage" src="" /&gt;
  &lt;img style="display:none;" id="largeImage" src="" /&gt;
  &lt;/body&gt;
  &lt;/html&gt;
  </code></pre>