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

How can set path of folder in FileProvider in android?

您好,我想从相机捕捉图像并存储到特定文件夹中。对于前。我有一个名为“MyImages”的文件夹,我想将名为 abc.png 的捕获图像存储到这个文件夹中,那么我怎么才能为以下代码片段设置 path of 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;
}

您有 MyImages/Environment.getExternalStorageDirectory() 个。

首先,那不是放置文件的好地方。这类似于在 Windows.

上的 C:\ 的根目录中创建一个目录

也就是说,在您的 FileProvider XML 配置中,您需要:

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