2017-11-21 2 views
0

In meiner App muss ich ein Foto machen und es dann über RestApi mit anderen Daten senden. Ich möchte dieses Foto an einem anderen Ort speichern, um es in Zukunft zu verarbeiten. Mein Code:Foto an einem anderen Ort speichern

private void TakePictureAfterScan() { 
    Intent takePictureIntent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE); 
    TAKEN_PHOTO = Uri.fromFile(getOutputMediaFile()); 
    takePictureIntent.putExtra(MediaStore.EXTRA_OUTPUT, TAKEN_PHOTO); 
    startActivityForResult(takePictureIntent, ACTIVITY_CODE_REQUEST_IMAGE_CAPTURE); 
} 

private static File getOutputMediaFile() { 
    File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_PICTURES), PICTURE_PHOTO_DIR); 

    if (!mediaStorageDir.exists()) { 
     if (!mediaStorageDir.mkdirs()) { 
      return null; 
     } 
    } 

    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
    return new File(mediaStorageDir.getPath() + File.separator + 
      "IMG_" + timeStamp + ".jpg"); 
} 

Wenn ich einen Haltepunkt in 'onActivityResult' Methode festgelegt (die Tests jetzt leer ist), gibt es bereits zwei JPG-Dateien im Gerät gespeichert:

  • In DCIM/Kamera-Ordner

  • In meinem temporären Ordner

Das Problem ist, beide Datei s haben unterschiedliche Namen. Ich brauche und will keine Dateien aus DCIM/Camera Ordner. Gibt es eine einfache Möglichkeit, ein Foto nur in meinem temporären Ordner zu speichern?

+0

nachdem Sie die Datei kopiert haben, werden Sie es aus dem DCIM-Ordner zu löschen. –

+0

Wie lösche Datei aus DCIM-Ordner innerhalb onActivityResult-Methode? Dateien aus DCIM und meinem Ordner haben unterschiedliche Namen. – Shelboy

Antwort

0

statt dessen. diese

File mediaStorageDir = new File(Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_PICTURES), PICTURE_PHOTO_DIR); 

Verwendung ..

File mediaStorageDir = new File(Environment.getExternalStorageDirectory().toString() + "folder name" + ImageName;); 
+0

Dieser Code funktioniert nicht. Nur ändern ist diese Anwendung speichern Datei nur in DCIM/Kamera Ordner. – Shelboy

Verwandte Themen