我正在尝试将照片保存到我的应用所需的相机文件夹中。这就是我正在尝试的
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>
答案 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));
希望它能帮到你!!