您好我想从相机捕获图像并存储到特定文件夹中。对于前者我有名字的文件夹" MyImages "我想将名为 abc.png 的捕获图像存储到此文件夹中,那么如何为以下代码段设置 FileProvider 的路径。
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="my_images" path="???"/>
...
以下是我创建图像文件的代码。
public File getAlbumDir() {
File storageDir = null;
if (Environment.MEDIA_MOUNTED.equals(Environment.getExternalStorageState())) {
storageDir = new File(Environment.getExternalStorageDirectory(),
"MyImages");
if (storageDir != null) {
if (!storageDir.mkdirs()) {
if (!storageDir.exists()) {
Log.d("CameraSample", "failed to create directory");
return null;
}
}
}
} else {
Log.v(context.getString(R.string.app_name), "External storage is not mounted " +
"READ/WRITE.");
}
return storageDir;
}
public File createImageFile() {
// Create an image file name
String imageFileName = "abc.jpg";
File albumF = getAlbumDir();
File imageF = new File(albumF, imageFileName);
return imageF;
}
答案 0 :(得分:3)
MyImages/
离开Environment.getExternalStorageDirectory()
。
首先,这不是放置文件的好地方。这类似于在Windows上C:\
的根目录中创建目录。
话虽如此,在您的FileProvider
XML配置中,您需要:
<external-path name="my_images" path="MyImages"/>