如何在Android中将图片保存到相机文件夹?

4
我正在尝试将应用程序拍摄的照片保存到相机文件夹,以下是我的尝试:
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;
}

我还尝试了 Environment.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个回答

3
现在所有的相机应用程序都保存在DCIM目录下的Camera目录中。
因此,您必须使用:
File dir = new File( Environment.getExternalStoragePublicDirectory(
      Environment.DIRECTORY_DCIM), "Camera");

这只是抛出一个异常:权限被拒绝。WRITE_STORAGE 权限已激活。 - Luke Dupin

3

您正在获取路径 File storageDir Environment.getExternalStoragePublicDirectory("Camera"); 这将创建一个名为“Camera”的文件夹

DIRECTORY_DCIM 是将设备挂载为相机时照片和视频的传统存储位置。

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

DIRECTORY_PICTURES是一个标准目录,用于存放用户可用的图片。
File musicDirectory = new File( getExternalFilesDir(Environment.DIRECTORY_PICTURES));

希望能帮到你!

我在模拟器上尝试了这两个选项,但它们都会创建一个名为DCIM和Pictures的文件夹。我想将其保存到已经存在的Camera文件夹中。 - alan samuel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接