[ https://issues.apache.org/jira/browse/CB-12335?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15811702#comment-15811702 ]
Zia Sergio commented on CB-12335: --------------------------------- Precision: When the necessary camera permissions have been obtained, especially by using the 'cordova-plugin-camera' plugin also implemented into my app, then the application no longer crashes when captureVideo() is invoked under android 6.0 However when running under android 7.0, it does not change anything, the application crashes anyway and the 'adb logcat' trace is exactly the same. > captureVideo() crashes the app when running to an android 6.0 or 7.0 emulator > ----------------------------------------------------------------------------- > > Key: CB-12335 > URL: https://issues.apache.org/jira/browse/CB-12335 > Project: Apache Cordova > Issue Type: Bug > Components: Plugin Media Capture > Reporter: Zia Sergio > > cordova 6.4 > cordova android platform 6.0 > cordova-media-capture plugin 1.4.1 > built : android sdk version 24 > When using Android 6.0 emulator : > target Android 6.0 - API Level 23 > cpu Intel Atom (x86_64) > front and back camera emulated > memory RAM 1024 > VM heap 64 > internal storage 16 GiB > SD card 4 GiB > The emulated camera starts recording a video, stops correctly, but crashes > the app when validate the captured video. > {code:title=adb logcat trace} > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: Writing exception to parcel > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: java.lang.SecurityException: > Permission Denial: reading com.android.providers.media.MediaProvider uri > content://media/external/video/media/40 from pid=3130, uid=10056 requires > android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: at > android.content.ContentProvider.enforceReadPermissionInner(ContentProvider.java:605) > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: at > android.content.ContentProvider$Transport.enforceReadPermission(ContentProvider.java:480) > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: at > android.content.ContentProvider$Transport.query(ContentProvider.java:211) > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: at > android.content.ContentProviderNative.onTransact(ContentProviderNative.java:112) > 01-09 11:04:55.485 1913 2552 E DatabaseUtils: at > android.os.Binder.execTransact(Binder.java:453) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: FATAL EXCEPTION: > pool-1-thread-1 > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: Process: com.saipm.dh, PID: > 3130 > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: java.lang.SecurityException: > Permission Denial: reading com.android.providers.media.MediaProvider uri > content://media/external/video/media/40 from pid=3130, uid=10056 requires > android.permission.READ_EXTERNAL_STORAGE, or grantUriPermission() > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.os.Parcel.readException(Parcel.java:1599) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.content.ContentProviderProxy.query(ContentProviderNative.java:421) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.content.ContentResolver.query(ContentResolver.java:491) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > android.content.ContentResolver.query(ContentResolver.java:434) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > org.apache.cordova.CordovaResourceApi.mapUriToFile(CordovaResourceApi.java:154) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > org.apache.cordova.mediacapture.Capture.createMediaFile(Capture.java:433) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > org.apache.cordova.mediacapture.Capture.onVideoActivityResult(Capture.java:413) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > org.apache.cordova.mediacapture.Capture$1.run(Capture.java:332) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) > 01-09 11:04:55.487 3130 3189 E AndroidRuntime: at > java.lang.Thread.run(Thread.java:818) > 01-09 11:04:55.488 1630 2026 W ActivityManager: Force finishing activity > com.saipm.dh/.MainActivity > {code} > When using Android 7.0 emulator : > target Android 7.0 - API Level 24 > cpu Intel Atom (x86_64) > front and back camera emulated > memory RAM 1024 > VM heap 64 > internal storage 16 GiB > SD card 8 GiB > When captureVideo() is invoked, the emulated camera does not start and the > app crashes immediately. > {code:title=adb logcat trace} > 01-09 10:40:23.266 1252 1252 V EmulatedCamera_Camera: getCameraInfo > 01-09 10:40:23.266 1252 1252 V EmulatedCamera_BaseCamera: getCameraInfo > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: FATAL EXCEPTION: Thread-2 > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: Process: com.android.camera, > PID: 28517 > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: > java.lang.NullPointerException: Attempt to read from field 'int > android.hardware.Camera$Size.width' on a null object reference > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: at > com.android.camera.VideoCamera.getDesiredPreviewSize(VideoCamera.java:799) > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: at > com.android.camera.VideoCamera.readVideoPreferences(VideoCamera.java:781) > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: at > com.android.camera.VideoCamera.-wrap3(VideoCamera.java) > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: at > com.android.camera.VideoCamera$1.run(VideoCamera.java:389) > 01-09 10:40:23.291 28517 28534 E AndroidRuntime: at > java.lang.Thread.run(Thread.java:761) > 01-09 10:40:23.293 1503 1514 W ActivityManager: Force finishing activity > com.android.camera/.VideoCamera > 01-09 10:40:23.295 1503 1514 W ActivityManager: Force finishing activity > com.saipm.dh/.MainActivity > 01-09 10:40:23.322 28517 28528 I art : Background sticky concurrent mark > sweep GC freed 8683(640KB) AllocSpace objects, 4(80KB) LOS objects, 0% free > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332) --------------------------------------------------------------------- To unsubscribe, e-mail: issues-unsubscr...@cordova.apache.org For additional commands, e-mail: issues-h...@cordova.apache.org