2016-10-09 4 views
-1

Ich möchte die integrierte Kamerafunktion eines Geräts verwenden. die Dokumentation gelesen zu haben, das ist die Methode, die ichKamerafehler: Verbindung zur Kamera nicht möglich

private void dispatchTakePictureIntent() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    if (takePictureIntent.resolveActivity(getPackageManager()) != null) { 
     startActivityForResult(takePictureIntent, REQUEST_IMAGE_CAPTURE); 
    } 
} 

Im Manifest verwende ich die Verwendung hinzugefügt:

<uses-feature android:name="android.hardware.camera" 
       android:required="true" /> 

Allerdings, wenn ich die Methode aufrufen, wird die Fehlerdialog erscheint. Warum das?

Antwort

2

Die Verwendung einer Kamera mit ACTION_IMAGE_CAPTURE Intent mit der Ziel-API 23 oder höher erfordert eine Kameraerlaubnis. Sie müssen diese Berechtigung zur Laufzeit anfordern.

Here können Sie ein Video-Tutorial zu diesem Thema finden.

1

Wenn Sie die Kamera auf Knopfdruck öffnen möchten, verwenden Sie den folgenden Code.

Initialisieren Sie die Schaltfläche und die Bildansicht innerhalb der onCreate() - Methode.

photoButton.setOnClickListener(new View.OnClickListener() { 

     @Override 
     public void onClick(View v) { 
      Intent cameraIntent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
      startActivityForResult(cameraIntent, CAMERA_REQUEST); 
     } 
    }); 
} 

protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    if (requestCode == CAMERA_REQUEST && resultCode == Activity.RESULT_OK) { 
     Bitmap photo = (Bitmap) data.getExtras().get("data"); 
     if(photo!=null) 
      imageView.setImageBitmap(photo); 
    } 
} 
+0

Was ist der Wert von CAMERA_REQUEST? Ich habe gerade meinen Code (den obigen) auf einem echten Gerät getestet und die Kamera ist geöffnet. Irgendeine Idee, warum das passieren kann? Vielen Dank! – user6456773

+0

Ich habe die Kamera des Geräts nicht aktiviert ...: D :) – user6456773

+0

CAMERA_REQUEST auf 1 setzen wie CAMERA_REQUEST = 1 –

Verwandte Themen