Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Cannot Reproduce
-
1.3.0
-
None
-
Phonegap Sample App
Droid 3 with current updates (Android 2.3.4)
Native (for droid 3) camera app.
Description
- In the sample app, click the button to take a picture.
- The camera app launches, take a picture, and tap done.
- The sample app reappears but there is no indication that the picture was taken.
I made a simple app to test this, which should simply alert the FILE_URI result, or alert something on error. Neither callbacks are hit, instead the app restarts. If you view the logcat, it shows a console.log() right before launching the camera, and the next log message after taking the picture shows a new PID and other logs related to the app starting.
This happens in any app I have tried this with, even the simplest "take a picture and alert the path" app. It also happens with alternative camera apps. I've tried a couple of 3rd party camera apps with the same outcome.
This might be related - They describe the exact behavior I see, but I tried using their modified phonegap.jar with no luck.
<!DOCTYPE html> <html> <head> <title>Capture Image</title> <script src="http://code.jquery.com/jquery-1.7.1.min.js"></script> <script type="text/javascript" charset="utf-8" src="phonegap-1.3.0.js"></script> <script type="text/javascript" charset="utf-8"> var defaultPictureOptions = { quality : 50, destinationType: Camera.DestinationType.FILE_URI, sourceType: Camera.PictureSourceType.CAMERA /* , targetWidth: 100, targetHeight: 100 */ }; var phonegapPic = function(onSuccess, onFail, photoType) { if (!navigator) { console.log('no navigator obj'); return false; } if (!navigator.camera) { console.log('no navigator.camera obj'); return false; } if (!navigator.camera.getPicture) { console.log('no navigator.camera.getPicture'); return false; } photoType = photoType || "camera"; console.log('taking picture...'); var opts = $.extend({}, defaultPictureOptions, { sourceType: (photoType === "camera") ? Camera.PictureSourceType.CAMERA : Camera.PictureSourceType.PHOTOLIBRARY }); navigator.camera.getPicture(onSuccess, onFail, opts); return true; }; function captureImage() { phonegapPic( function( imgURI ){ alert( 'got picture: ' + imgURI ); }, function(){ alert( 'error!' )} ); } </script> </head> <body> <button onclick="captureImage();">Capture Image</button> <br> </body> </html>