title: navigator.camera.getPicture callback doesn't execute until 2nd call
body: <p>I've got a phonegap (cordova) app running cordova 3.1.0 and when I call</p>
  
  <pre><code>navigator.camera.getPicture(success,fail,options)
  </code></pre>
  
  <p>with options as</p>
  
  <pre><code>var options={ 
          destinationType: navigator.camera.DestinationType.FILE_URI,
          sourceType: navigator.camera.PictureSourceType.SAVEDPHOTOALBUM,
          encodingType: navigator.camera.EncodingType.JPEG,
          mediaType: navigator.camera.MediaType.Picture
  }
  </code></pre>
  
  <p>the success callback isn't called after the photo is selected by the user.</p>
  
  <p>If I then call</p>
  
  <pre><code>navigator.camera.getPicture(success,fail,options)
  </code></pre>
  
  <p>again, the success callback from the first getPicture is called with the photo selected in the first step.</p>
  
  <p>I've poked around in CameraLauncher.java (around line 395 onwards)  and it seems that it calls</p>
  
  <pre><code>this.callbackContext.success(uri.toString());
  </code></pre>
  
  <p>in</p>
  
  <p>onActivtyResult but this doesn't seem to be passed back until the next getPicture() call.</p>
  
  <p>Anybody else come across this?</p>
  
  <p>Further digging shows the same thing happening when calling getPicture from camera too. </p>
  
  <p>I'm wondering if it's because when the camera activity finishes the webview hasn't resumed so the callback has nowhere to go - but this is wild speculation at best.</p>
  
  <p>24 hours later, it seems that updating to Cordova 3.1.0.jar and dropping the 3.1 jar directly into an existing 3.0 project resolved this issue.</p>