如何在android中的FileProvider中设置文件夹的路径?

时间:2017-05-15 13:04:47

标签: android android-7.0-nougat

您好我想从相机捕获图像并存储到特定文件夹中。对于前者我有名字的文件夹" 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;
}

1 个答案:

答案 0 :(得分:3)

MyImages/离开Environment.getExternalStorageDirectory()

首先,这不是放置文件的好地方。这类似于在Windows上C:\的根目录中创建目录。

话虽如此,在您的FileProvider XML配置中,您需要:

<external-path name="my_images" path="MyImages"/>