将照片保存在不同的位置

时间:2017-11-21 13:24:26

标签: android

在我的应用中,我需要拍照,然后通过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'方法(现在为测试时为空)设置断点时,设备中已经保存了两个.jpg文件:

  • 在DCIM /相机文件夹

  • 在我的临时文件夹

问题是,两个文件都有不同的名称。我不需要也不想要DCIM / Camera文件夹中的文件。有没有简单的方法来保存仅在我的临时文件夹中拍摄照片?

1 个答案:

答案 0 :(得分:0)

而不是这个。

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

使用此.. ..

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