Zugriff auf die Kamera in Android 6.0 Marshmallow?

8

Ich bin neu zu Android 6.0 Coding Bitte geben Sie eine Lösung für den folgenden Code:

Wenn ich Laufzeitberechtigungen wie READ_EXTERNAL_STORAGE und WRITE_EXTERNAL_STORAGE gebe, wird eine Ausnahme wie

angezeigt
  

java.lang.SecurityException: Erlaubte Verweigerung: Start Absicht {act = android.media.action.IMAGE_CAPTURE flg = 0x3 cmp = com.motorola.camera / .Kamera clip = {text / uri-list U: file: ///storage/emulate/0/Pictures/MyAppNew%20File%20Upload/IMG_20160401_110234.jpg} (hat Extras)} von ProcessRecord {ed96564 26955: com.social.nocializer / u0a259} (pid = 26955, uid = 10259 ) mit widerrufener Berechtigung android.permission.CAMERA

Entweder MediaStore.ACTION_IMAGE_CAPTURE und MediaStore.INTENT_ACTION_STILL_IMAGE_CAMERA_SECURE Laufzeitberechtigungen funktionieren nicht ...

Hinweis: READ_EXTERNAL_STORAGE funktioniert beim Öffnen der Galerie

    
jagan 01.04.2016, 06:03
quelle

2 Antworten

17

Sie müssen dafür Laufzeitberechtigungen verwalten, da die Berechtigungen, die Sie in AndroidManifest definiert haben, nicht automatisch gewährt werden. So wie unten können Sie überprüfen, ob Ihre Berechtigung genehmigt ist oder nicht

%Vor%

Hier ist MY_REQUEST_CODE eine statische Konstante, die Sie definieren können und die erneut für den Callback des RequestPermission-Dialogfelds verwendet wird. Jetzt benötigen Sie einen Rückruf für das Ergebnis des Dialogs:

%Vor%     
Ronak Joshi 01.04.2016, 06:09
quelle
8

@Ronak Solution arbeitete für mich aber mit ein paar folgenden Änderungen, da wir nur die Geräte überprüfen müssen, die über Android M liegen.

%Vor%

Und überschreiben Sie die folgende Methode mit crl + o kopieren, Einfügen würde möglicherweise zu einem Fehler führen: D

%Vor%     
cammando 23.02.2017 07:49
quelle