2017-11-21 10 views
0

私のアプリでは、写真を撮ってからRestApi経由で他のデータを送信する必要があります。私は将来この写真を別の場所に保管してそれを処理したいと思っています。私のコード:写真を別の場所に保存する

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"); 
} 

私は(テストのために、今は空である)「onActivityResult」メソッドにブレークポイントを設定すると、デバイスに保存されている2つの.jpgファイルが既に存在している:で

  • は、 DCIM /カメラフォルダ私の一時フォルダに

問題は、ファイルの両方です名前が違う。私はDCIM/Cameraフォルダからのファイルを必要とせず、ファイルを必要としません。撮影した写真を一時フォルダに保存するだけの簡単な方法はありますか?

+0

後..あなたは、DCIMフォルダからそれを削除する必要があります。 –

+0

onActivityResultメソッド内のDCIMフォルダからファイルを削除するには? DCIMと私のフォルダのファイルには異なる名前があります。 – Shelboy

答えて

0

この代わりに。

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

使用このファイルをコピーした

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

このコードは動作しません。その変更は、DCIM/Cameraフォルダ内のアプリケーション保存ファイルだけです。 – Shelboy

関連する問題