2

Ich verwende ionische, um eine mobile Anwendung zu entwickeln. Die Anwendung erfordert eine Kamera. Ich habe Cordova Kamera Plugin zu meinem Projekt hinzugefügt. Auch ich benutze ngCordova Wrapper. Die Anwendung hat gut funktioniert. Letzten Tag habe ich ein Gerät mit Android Version 6.0 (Marshmallow) benutzt, um meine App zu testen. Wenn ich auf die Schaltfläche klicke, wird der Fehler direkt ausgelöst. I USB-Debugging getan, ich habe den Fehler, dassCordova Kamera Plugin Genehmigung Ablehnung in Android 6.0

Camera Error "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/com.app.cameratest/cache/.Pic.jpg} (has extras) } from ProcessRecord{6fe7446 18933:com.app.cameratest/u0a471} (pid=18933, uid=10471) with revoked permission android.permission.CAMERA" 

ich es gegoogelt und herausgefunden, dass in Android 6.0, die Berechtigungen standardmäßig deaktiviert sind und wenn die Zeit des Versuchs, die Kamera zuzugreifen, wird er um Erlaubnis bitten. Ich habe keine Erlaubnis erhalten, Dialogfeld für Kamera zu suchen. Aber ich habe die Erlaubnis erhalten, um das Plugin und das Datei-Plugin zu platzieren.

Meine Cordova-Version ist 6.0 Kamera-Plugin Version 2.1.0 Cordova Android API 23

Ich versuchte, die Cordova Android Version 5.0 Herabstufung zum Ändern Zielversion 22

Hier mein Code Android ist

var options = { 
      quality: 75, 
      destinationType: Camera.DestinationType.FILE_URI, 
      sourceType: 1, 
      allowEdit: false, 
      encodingType: 0, 
      targetWidth: 380, 
      targetHeight: 450, 
      popoverOptions: CameraPopoverOptions, 
      direction: 1, 
      saveToPhotoAlbum: true 
     }; 
$cordovaCamera.getPicture(options).then(function(imageData) { 
    console.log('image data': imageData); 
},function(error) { 
    console.error('Camera Error ', JSON.stringify(error)); 
}); 

Ich habe versucht, das Plugin zu 2.1.1 zu aktualisieren; funktioniert immer noch nicht. Wenn jemand eine Lösung dafür hat, bitte teilen. Ich weiß nicht, warum dieses Plugin nicht um Erlaubnis fragt.

Die Kamera funktioniert, wenn wir die Erlaubnis der Kamera im Einstellungsmenü manuell aktivieren. Ich möchte den Benutzerfluss in meiner Anwendung dafür nicht unterbrechen.

+1

hatten Sie einen Blick auf diese - https://issues.apache.org/jira/browse/CB-10120 – Gandhi

+0

@Gandhi: Ich habe habe schon den Post gesehen. Sie berichteten als ein Sicherheitsproblem. Aber das Plugin wird nicht aktualisiert, um dieses Problem zu beheben. Ich bin nicht gut in Java, um Codes für das Plugin zu schreiben. Haben Sie ein gegabeltes Plugin, das das Problem löst? ? –

+0

Entschuldigung, ich bin nicht sicher über Gabeln Plugins, da ich keine Hand auf Erfahrung auf ihnen haben. Werfen Sie einen Blick auf diesen Beitrag einmal - http://stackoverflow.com/questions/34784460/cordova-plugin-camera-permission-denial-reading-com-android-providers-media-me – Gandhi

Antwort

2

Danke Jungs. Das Problem ist behoben. Das Problem war mit meiner Cordova-Version. Ich benutzte Cordova 6.0.0. Jetzt habe ich die Cordova-Version auf den neuesten Stand gebracht (6.1.1). Jetzt fragt es um Erlaubnis. Danke für Ihre Unterstützung.

+1

Ich habe bereits 6.3 aber es funktioniert nicht .. mich verrückt zu machen :( – EralpB

+0

@EralpB: Haben Sie versucht 'Cordova Plugin hinzufügen https://github.com/apache/cordova-plugin-cam Ära'? –

+0

Vielen Dank sehr viel für Ihre Antwort. Es stellt sich heraus, dass die Ionenwolke gebaut ist gebrochen.?. Ich heruntergeladen Android Studio, kompilierte mich und es hat funktioniert! – EralpB

0

Wenn ein anderer Bursche seinen Kopfes mit diesem Bruch, funktioniert nur für mich:

Nur durch diesen Tag Config hinzufügen. < Präferenz name = "android-targetSdkVersion" value = "22">