2017-11-18 4 views
0

Ich versuche auf die Kamera zuzugreifen mit Camera.open() Aber es löst Ausnahme Fail zum Kamera-Service zu verbinden.Kamera-Berechtigung nicht automatisch gewährt

Ich habe die Kamera-Erlaubnis in Einstellungen-> Apps-> MyApp-> Erlaubnis-> Kamera überprüft und es ist nicht gewährt. Ich habe bereits Kameraerlaubnis in Android Manifest hinzugefügt.

<uses-permission android:name="android.permission.CAMERA"/> 
    <uses-feature android:name="android.hardware.camera2" android:required="true"/> 

Warum wird es nicht automatisch beim ersten Mal gewährt? Was ist die beste Vorgehensweise, um damit umzugehen?

+0

Sie müssen während der Laufzeit Berechtigungen anfordern. Dafür können Sie meine Bibliothek verwenden: https://github.com/nabinbhandari/Android-Permissions –

Antwort

1

Prüfen Sie zunächst, ob der Benutzer die Berechtigung erteilen:

if (ContextCompat.checkSelfPermission(context, Manifest.permission.CAMERA) 
    == PackageManager.PERMISSION_DENIED) 

Dann könnten Sie dies dem Benutzer zu verlangen verwenden:

ActivityCompat.requestPermissions(activity, new String[] {Manifest.permission.CAMERA}, requestCode); 

Und in Eibisch und später, scheint es, den Dialog


Nach dem Anfordern der Erlaubnis wird die Warnung angezeigt, um die Erlaubnis zu fragen, die erlaubt und den y Optionen. Nach dem Anklicken der Aktion können wir das Ergebnis der Anfrage mit der folgenden Methode erhalten.

@Override 
public void onRequestPermissionsResult(int requestCode, @NonNull String[] permissions, @NonNull int[] grantResults) { 
    super.onRequestPermissionsResult(requestCode, permissions, grantResults); 

    if (requestCode == MY_CAMERA_REQUEST_CODE) { 
     if (grantResults[0] == PackageManager.PERMISSION_GRANTED) { 

      Toast.makeText(this, "camera permission granted", Toast.LENGTH_LONG).show(); 
     } else { 
      Toast.makeText(this, "camera permission denied", Toast.LENGTH_LONG).show(); 
     } 
    } 
} 

Wenn Sie mir nicht glauben, habe ich die Antwort von here genommen.

+1

Dies funktioniert. Vielen Dank !!! –

Verwandte Themen