如何将图像保存到android中的Camera文件夹?

时间:2018-02-16 07:43:01

标签: java android

我正在尝试将照片保存到我的应用所需的相机文件夹中。这就是我正在尝试的

private File createImageFile() throws IOException {

    // Create an image file name
    String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date());
    String imageFileName = "PlumFastJob" + timeStamp + "_";
    File storageDir = Environment.getExternalStoragePublicDirectory("Camera");

    if(!storageDir.exists()){

        boolean s = new File(storageDir.getPath()).mkdirs();

        if(!s){
            Log.v("not", "not created");
        }
        else{
            Log.v("cr","directory created");
        }
    }
    else{
        Log.v("directory", "directory exists");
    }

    File image = File.createTempFile(
            imageFileName,  /* prefix */
            ".png",         /* suffix */
            storageDir      /* directory */
    );

    // Save a file: path for use with ACTION_VIEW intents
    currentPhotoPath = image.getAbsolutePath();
    uriOfImage = Uri.parse(image.getPath());
    return image;
}

我也尝试过Enviornment.Directory_DCIM和Environment.Directory_Pictures。但是他们都创建了一个名为DCIM和Pictures的文件夹。

这只会创建另一个名为Camera的文件夹并保存。

这是我的文件提供者。

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">
    <external-path name="my_images" path="." />
</PreferenceScreen>

2 个答案:

答案 0 :(得分:2)

现在所有相机应用程序都保存到Camera目录中的DCIM目录。

所以你必须使用

File dir = new File( Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_DCIM), "Camera");

答案 1 :(得分:0)

你正在获得路径File storageDir Environment.getExternalStoragePublicDirectory("Camera"); 这将创建名称为&#34; Camera&#34;

的文件夹
  

DIRECTORY_DCIM图片和视频的传统位置   将设备安装为相机。

File musicDirectory = new File( getExternalFilesDir(Environment.DIRECTORY_DCIM));
  

DIRECTORY_PICTURES用于放置图片的标准目录   可供用户使用。

File musicDirectory = new File( getExternalFilesDir(Environment.DIRECTORY_PICTURES));

希望它能帮到你!!