java - 我无法将图像直接保存到应用程序目录的文件夹中

标签 java android file

我有一个调用相机并将图像保存到应用程序目录中的文件夹的方法

Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
        File mFolder = new File(context.getFilesDir() + "/confirmation");
        File file = new File(mFolder.getAbsolutePath() + "/test.jpg");
        if (!mFolder.exists()) {
            mFolder.mkdir();
        }

        Uri outputFileUri = Uri.fromFile(file);
        intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri);
        startActivityForResult(intent, 10);

方法context.getFilesDir()返回:“/data/user/0/com.example.kos/files”

confirmation 是我要保存图像的文件夹

但是不起作用,文件没有保存,我做错了什么?

最佳答案

但是...MediaStore 不会保存到getFilesDir()

尝试使用getExternalFilesDir()

哦哦,您没有保存到 MediaStore。但是...相机应用程序也无法存储到您的应用程序的私有(private)方向,因此请使用 getExternalFilesDir()。

之后您将遇到 FileUriExposedException。

之后您将使用 FileProvider。

之后您可以再次使用 getFilesDir()。

关于java - 我无法将图像直接保存到应用程序目录的文件夹中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59580746/

相关文章:

java - 没有错误但没有音频?

android - Listview Textview 删除线

java - 如何修复迭代期间添加项目时的 ConcurrentModificationException 错误

java - URL 连接超时后导致应用程序崩溃

java - 如何使文件加密?

android - 用户尝试从图库中删除文件时的 Intent

java - 如何在 Java 中进行混淆器、优化器和混淆器

java - java中ExecutorService异常处理

java - java中的四舍五入 double

java - onActivityResult 中的 View 为空