0

Ich bin Standard-Kamera-App zu öffnen, um Bild in meiner Anwendung zu erfassen, aber nicht erfasst Bild URI. Unten ist mein Code -Android Standard-Kamera-Capture-Bild zurück Bild-URI null

-Code für offene Kamera -

initTmpUris(); 
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    intent.putExtra(MediaStore.EXTRA_OUTPUT, capturedImageUri); 
    intent.putExtra("return-data", true); 

-Code für Bildpfad erstellen zu speichern - in onActivityResult

private void initTmpUris() { 
    File proejctDirectory = new File(CameraUtil.FOLDER_PATH + File.separator + CameraUtil.FOLDER_NAME); 
    if (!proejctDirectory.exists()) { 
     proejctDirectory.mkdir(); 
    } 
    File tempDirectory = new File(proejctDirectory, "temp"); 
    if (!tempDirectory.exists()) { 
     tempDirectory.mkdir(); 
    } else { 
     // delete all old files 
     for (File file : tempDirectory.listFiles()) { 
      if (file.getName().startsWith("tmp_") 
        || file.getName().startsWith("croped_")) { 
      } 
     } 

    } 
    capturedImageUri = Uri.fromFile(new File(tempDirectory, "tmp_" 
      + String.valueOf(System.currentTimeMillis()) + ".jpg")); 

    File extraOutputFile = new File(tempDirectory, "croped_" 
      + String.valueOf(System.currentTimeMillis()) + ".jpg"); 

    extraOutputFile.setWritable(true); 
    cropImageUri = Uri.fromFile(extraOutputFile); 
} 

und Code -

case REQ_CODE_PICK_FROM_CAMERA_WITHOUT_CROP: { 

      if (resultCode == RESULT_OK) { 
       if(null!=capturedImageUri) { 
        String imagePath = capturedImageUri.getPath(); 
        File file = new File(imagePath); 
        onSingleImageSelected(reqCodeStarter, file, imagePath, 
          get_Picture_bitmap(file)); 
       } 


      } else { 
       onMediaPickCanceled(reqCodeStarter, 
         REQ_CODE_PICK_FROM_CAMERA_WITHOUT_CROP); 
      } 

     } 
     break; 

ich bin Erhalten capturedImageUri in Samsung s7 Gerät, in anderen Geräten seine Rückkehr URL des aufgenommenen Bildes.

+1

überprüfen, ob es Laufzeit Berechtigung hat, wenn os verwenden Marshmallow – siddhesh

Antwort

2

Fügen Sie diesen Code zu Ihrem activity Tag innerhalb Ihrer Manifest Datei hinzu.

android:configChanges="orientation|keyboardHidden|screenSize" 

Es wird nicht Ihre aktuelle Aktivität zu destory und neu erstellen, damit Sie das Ergebnis erhalten.

+1

Danke Seine Arbeit für mich :) +1 für die Antwort – Ravi

Verwandte Themen