[
https://issues.apache.org/jira/browse/CB-10670?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15216412#comment-15216412
]
ASF GitHub Bot commented on CB-10670:
-------------------------------------
Github user riknoll commented on a diff in the pull request:
https://github.com/apache/cordova-plugin-media-capture/pull/59#discussion_r57764840
--- Diff: src/android/Capture.java ---
@@ -250,13 +304,17 @@ private static void createWritableFile(File file)
throws IOException {
* Sets up an intent to capture video. Result handled by
onActivityResult()
*/
private void captureVideo(int duration, int quality) {
- Intent intent = new
Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
+ if(cameraPermissionInManifest &&
!PermissionHelper.hasPermission(this, Manifest.permission.CAMERA)) {
+ PermissionHelper.requestPermission(this, CAPTURE_VIDEO_SEC,
Manifest.permission.CAMERA);
+ } else {
+ Intent intent = new
Intent(android.provider.MediaStore.ACTION_VIDEO_CAPTURE);
- if(Build.VERSION.SDK_INT > 7){
- intent.putExtra("android.intent.extra.durationLimit",
duration);
- intent.putExtra("android.intent.extra.videoQuality", quality);
+ if(Build.VERSION.SDK_INT > 7){
--- End diff --
Oh, wow, I think I glanced over that! I agree that we should remove it.
I'll update the PR
> Media Capture on Android 6.0.1 fails
> ------------------------------------
>
> Key: CB-10670
> URL: https://issues.apache.org/jira/browse/CB-10670
> Project: Apache Cordova
> Issue Type: Bug
> Components: Plugin Media Capture
> Affects Versions: 5.1.0
> Reporter: Christoph Brosdau
> Assignee: Richard B Knoll
> Priority: Critical
> Labels: Android, triaged
>
> Although this should work, I cannot make it work - on android 6.0, i always
> have the same issue concerning permissions - maybe I overlooked something,
> but I dont know what :)
> Whith the following super simple demo JS and latest Cordova and latest
> version of all plugins, I get:
> navigator.device.capture.captureVideo(function(){},function(e){console.log(e);},{limit:1});
> In the console, I get:
> Permission Denial: starting Intent { act=android.media.action.VIDEO_CAPTURE
> cmp=com.google.android.GoogleCamera/com.android.camera.VideoCamera (has
> extras) } from ProcessRecord{7481fe2 17042:tv.nexx.android.gdtv/u0a183}
> (pid=17042, uid=10183) with revoked permission android.permission.CAMERA
> In Android Studio I get:
> Uncaught exception from plugin
>
> java.lang.SecurityException: Permission Denial: starting Intent {
> act=android.media.action.IMAGE_CAPTURE flg=0x3
> cmp=com.google.android.GoogleCamera/com.android.camera.CaptureActivity
> clip={text/uri-list
> U:file:///storage/emulated/0/Android/data/tv.nexx.android.gdtv/cache/.Pic.jpg}
> (has extras) } from ProcessRecord{7481fe2 17042:tv.nexx.android.gdtv/u0a183}
> (pid=17042, uid=10183) with revoked permission android.permission.CAMERA
> at
> android.os.Parcel.readException(Parcel.java:1620)
> at
> android.os.Parcel.readException(Parcel.java:1573)
> at
> android.app.ActivityManagerProxy.startActivity(ActivityManagerNative.java:2658)
> at
> android.app.Instrumentation.execStartActivity(Instrumentation.java:1507)
> at
> android.app.Activity.startActivityForResult(Activity.java:3930)
> at
> org.apache.cordova.CordovaActivity.startActivityForResult(CordovaActivity.java:332)
> at
> android.app.Activity.startActivityForResult(Activity.java:3890)
> at
> org.apache.cordova.CordovaInterfaceImpl.startActivityForResult(CordovaInterfaceImpl.java:65)
> at
> org.apache.cordova.camera.CameraLauncher.takePicture(CameraLauncher.java:262)
> at
> org.apache.cordova.camera.CameraLauncher.callTakePicture(CameraLauncher.java:236)
> at
> org.apache.cordova.camera.CameraLauncher.execute(CameraLauncher.java:168)
> at
> org.apache.cordova.CordovaPlugin.execute(CordovaPlugin.java:98)
> at
> org.apache.cordova.PluginManager.exec(PluginManager.java:133)
> at
> org.apache.cordova.CordovaBridge.jsExec(CordovaBridge.java:59)
> at
> org.apache.cordova.engine.SystemExposedJsApi.exec(SystemExposedJsApi.java:41)
> at
> org.chromium.base.SystemMessageHandler.nativeDoRunLoopOnce(Native Method)
> at
> org.chromium.base.SystemMessageHandler.handleMessage(SystemMessageHandler.java:37)
> at
> android.os.Handler.dispatchMessage(Handler.java:102)
> at
> android.os.Looper.loop(Looper.java:148)
> at
> android.os.HandlerThread.run(HandlerThread.java:61)
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]