You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Joe Bowser (JIRA)" <ji...@apache.org> on 2012/07/13 17:51:35 UTC
[jira] [Commented] (CB-1065) App crashes after taking a picture
with the camera
[ https://issues.apache.org/jira/browse/CB-1065?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13413832#comment-13413832 ]
Joe Bowser commented on CB-1065:
--------------------------------
Since this is only reported on the S2, it is minor until it appears elsewhere.
-- Posted from Bugbox for Android
> App crashes after taking a picture with the camera
> --------------------------------------------------
>
> Key: CB-1065
> URL: https://issues.apache.org/jira/browse/CB-1065
> Project: Apache Cordova
> Issue Type: Bug
> Components: Android, CordovaJS
> Affects Versions: 1.8.0, 1.8.1, 1.9.0
> Environment: Android Smartphone with Android v. 4.0.3 using phonegap 1.9.0
> Reporter: trace0815@googlemail.com
> Assignee: Joe Bowser
> Priority: Minor
>
> Hi,
> I found a bug in phonegap during tests on my android-device (Samsung Galaxy S2 with android 4.0.3 - the bug does not appear on my other test device (Samsung Galaxy S3 with Android 4.0.4):
> In my app (can only be used in portrait mode), I'm using the camera.getPicture-functionality - after a click on the 'take a picture'-button in my app the camera app starts, the user can take a picture, after that the camera app asks if the user wants to keep the taken picture or discard it - so far so good.
> When the user *takes a picture in landscape-mode everything is fine*, the taken picture is available in the onSuccess-method.
> The problem is: If the user takes the *picture in portrait-mode and the camera-app tries o give the picture back to my app - it crashes*, that means: onFail will not be called, both apps (camera-app and my app) close without a message and android shows the homescreen.
> Please find attached my code and the errorlog:
> My code:
> function onFotoSuccess(imageData)
> {
> $('#cameraFoto').attr({src:"data:image/jpeg;base64," + imageData});
> }
> function onFotoFail(message)
> {
> alert('Failed because: ' + message);
> }
> $("#fotobutton").on("click", "", function()
> {
> navigator.camera.getPicture(onFotoSuccess, onFotoFail, { quality : 90,
> destinationType : Camera.DestinationType.DATA_URL,
> sourceType : Camera.PictureSourceType.CAMERA,
> allowEdit : true,
> encodingType: Camera.EncodingType.JPEG,
> targetWidth: 1024,
> targetHeight: 768,
> popoverOptions: CameraPopoverOptions,
> saveToPhotoAlbum: false });
> });
> My log - hope it helps:
> 07-06 11:16:44.213: V/webview(19169): singleCursorHandlerTouchEvent -getEditableSupport FASLE
> 07-06 11:16:44.553: I/GATE(19169): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
> 07-06 11:16:44.553: D/Cordova(19169): onPageFinished(file:///android_asset/www/index.html#pageDegustationStart)
> 07-06 11:16:44.553: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:16:44.558: D/DroidGap(19169): onMessage(onNativeReady,null)
> 07-06 11:16:44.558: D/DroidGap(19169): onMessage(onPageFinished,file:///android_asset/www/index.html#pageDegustationStart)
> 07-06 11:16:47.923: D/dalvikvm(19169): GC_FOR_ALLOC freed 237K, 6% free 10361K/10951K, paused 30ms
> 07-06 11:16:47.958: D/dalvikvm(19169): GC_FOR_ALLOC freed 3K, 5% free 10430K/10951K, paused 20ms
> 07-06 11:16:47.988: D/dalvikvm(19169): GC_FOR_ALLOC freed 1K, 5% free 10569K/11079K, paused 14ms
> 07-06 11:16:48.508: V/webview(19169): singleCursorHandlerTouchEvent -getEditableSupport FASLE
> 07-06 11:16:49.003: V/webview(19169): singleCursorHandlerTouchEvent -getEditableSupport FASLE
> 07-06 11:16:51.373: V/webview(19169): singleCursorHandlerTouchEvent -getEditableSupport FASLE
> 07-06 11:16:51.818: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:16:52.553: W/IInputConnectionWrapper(19169): showStatusIcon on inactive InputConnection
> 07-06 11:17:00.313: D/DroidGap(19169): onDestroy()
> 07-06 11:17:00.313: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:00.318: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:00.338: D/DroidGap(19169): DroidGap.onCreate()
> 07-06 11:17:00.363: I/webclipboard(19169): clipservice: android.sec.clipboard.ClipboardExManager@4164fd60
> 07-06 11:17:00.368: D/CordovaWebView(19169): Origin to allow: http://127.0.0.1*
> 07-06 11:17:00.378: I/CordovaLog(19169): Found log level DEBUG
> 07-06 11:17:00.378: I/CordovaLog(19169): Changing log level to DEBUG(3)
> 07-06 11:17:00.393: D/DroidGap(19169): DroidGap.init()
> 07-06 11:17:00.393: D/CordovaWebView(19169): >>> loadUrl(file:///android_asset/www/index.html)
> 07-06 11:17:00.393: D/PluginManager(19169): init()
> 07-06 11:17:00.398: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:00.398: D/WML_SISO(19169): InitPasteboardJni
> 07-06 11:17:00.398: D/SoftKeyboardDetect(19169): Ignore this event
> 07-06 11:17:00.428: D/SoftKeyboardDetect(19169): Ignore this event
> 07-06 11:17:00.428: W/webcore(19169): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:2404)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.WebViewCore$EventHub.access$12300(WebViewCore.java:1180)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:2516)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.WebView.sendOurVisibleRect(WebView.java:3212)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:938)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.ZoomManager.access$2100(ZoomManager.java:57)
> 07-06 11:17:00.428: W/webcore(19169): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:1407)
> 07-06 11:17:00.428: W/webcore(19169): at android.os.Handler.handleCallback(Handler.java:605)
> 07-06 11:17:00.428: W/webcore(19169): at android.os.Handler.dispatchMessage(Handler.java:92)
> 07-06 11:17:00.428: W/webcore(19169): at android.os.Looper.loop(Looper.java:137)
> 07-06 11:17:00.428: W/webcore(19169): at android.app.ActivityThread.main(ActivityThread.java:4507)
> 07-06 11:17:00.428: W/webcore(19169): at java.lang.reflect.Method.invokeNative(Native Method)
> 07-06 11:17:00.428: W/webcore(19169): at java.lang.reflect.Method.invoke(Method.java:511)
> 07-06 11:17:00.428: W/webcore(19169): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
> 07-06 11:17:00.428: W/webcore(19169): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
> 07-06 11:17:00.428: W/webcore(19169): at dalvik.system.NativeStart.main(Native Method)
> 07-06 11:17:00.428: D/SoftKeyboardDetect(19169): Ignore this event
> 07-06 11:17:00.463: D/SoftKeyboardDetect(19169): Ignore this event
> 07-06 11:17:00.473: W/webcore(19169): java.lang.Throwable: EventHub.removeMessages(int what = 107) is not supported before the WebViewCore is set up.
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.WebViewCore$EventHub.removeMessages(WebViewCore.java:2404)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.WebViewCore$EventHub.access$12300(WebViewCore.java:1180)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.WebViewCore.removeMessages(WebViewCore.java:2516)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.WebView.sendOurVisibleRect(WebView.java:3212)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.ZoomManager.setZoomScale(ZoomManager.java:938)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.ZoomManager.access$2100(ZoomManager.java:57)
> 07-06 11:17:00.473: W/webcore(19169): at android.webkit.ZoomManager$PostScale.run(ZoomManager.java:1407)
> 07-06 11:17:00.473: W/webcore(19169): at android.os.Handler.handleCallback(Handler.java:605)
> 07-06 11:17:00.473: W/webcore(19169): at android.os.Handler.dispatchMessage(Handler.java:92)
> 07-06 11:17:00.473: W/webcore(19169): at android.os.Looper.loop(Looper.java:137)
> 07-06 11:17:00.473: W/webcore(19169): at android.app.ActivityThread.main(ActivityThread.java:4507)
> 07-06 11:17:00.473: W/webcore(19169): at java.lang.reflect.Method.invokeNative(Native Method)
> 07-06 11:17:00.473: W/webcore(19169): at java.lang.reflect.Method.invoke(Method.java:511)
> 07-06 11:17:00.473: W/webcore(19169): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:790)
> 07-06 11:17:00.473: W/webcore(19169): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:557)
> 07-06 11:17:00.473: W/webcore(19169): at dalvik.system.NativeStart.main(Native Method)
> 07-06 11:17:00.513: D/DroidGap(19169): onMessage(onPageStarted,about:blank)
> 07-06 11:17:00.593: I/GATE(19169): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
> 07-06 11:17:00.593: D/Cordova(19169): onPageFinished(about:blank)
> 07-06 11:17:00.593: D/DroidGap(19169): onMessage(onPageFinished,about:blank)
> 07-06 11:17:00.593: D/DroidGap(19169): onMessage(exit,null)
> 07-06 11:17:00.638: D/DroidGap(19169): onMessage(onPageStarted,file:///android_asset/www/index.html)
> 07-06 11:17:00.638: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:00.828: D/DroidGap(19169): onDestroy()
> 07-06 11:17:00.828: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:00.828: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:01.188: I/GATE(19169): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
> 07-06 11:17:01.188: D/Cordova(19169): onPageFinished(file:///android_asset/www/index.html)
> 07-06 11:17:01.193: D/CordovaWebView(19169): >>> loadUrlNow()
> 07-06 11:17:01.193: D/DroidGap(19169): onMessage(onNativeReady,null)
> 07-06 11:17:01.193: D/DroidGap(19169): onMessage(onPageFinished,file:///android_asset/www/index.html)
> 07-06 11:17:01.228: D/DroidGap(19169): onMessage(onPageStarted,about:blank)
> 07-06 11:17:01.253: I/GATE(19169): <GATE-M>DEV_ACTION_COMPLETED</GATE-M>
> 07-06 11:17:01.253: D/Cordova(19169): onPageFinished(about:blank)
> 07-06 11:17:01.253: D/DroidGap(19169): onMessage(onPageFinished,about:blank)
> 07-06 11:17:01.258: D/DroidGap(19169): onMessage(exit,null)
> 07-06 11:17:01.978: W/IInputConnectionWrapper(19169): showStatusIcon on inactive InputConnection
> 07-06 11:17:03.198: D/DroidGap(19169): onMessage(spinner,stop)
> 07-06 11:17:03.268: D/DroidGap(19169): onMessage(spinner,stop)
> Additionaly I tried it with FILE_URI but unfortunatly without success (please have a look at: https://groups.google.com/forum/#!msg/phonegap/O06ITzYa-lI/XXFtLyfgehYJ )
> It would be great if somebody could fix this issue... :)
> Kind regards,
> carpetempora
> -- Posted from Bugbox for Android
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira