Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法将文件保存到android中的外部存储目录_Java_Android_Android Studio_Android External Storage - Fatal编程技术网

Java 无法将文件保存到android中的外部存储目录

Java 无法将文件保存到android中的外部存储目录,java,android,android-studio,android-external-storage,Java,Android,Android Studio,Android External Storage,我已经查看了所有与在外部存储器中保存文件相关的问题。 链接: 我甚至复制了整个方法,但仍然无法得到相同的结果。这是我得到的同样的日志: W/System.err:java.io.IOException:没有这样的文件或目录 W/System.err:at java.io.UnixFileSystem.createFileExclusively0(本机方法) 代码: public void saveImageBitmap(Bitmap image_bitmap, String image_

我已经查看了所有与在外部存储器中保存文件相关的问题。

链接:

我甚至复制了整个方法,但仍然无法得到相同的结果。这是我得到的同样的日志:

W/System.err:java.io.IOException:没有这样的文件或目录

W/System.err:at java.io.UnixFileSystem.createFileExclusively0(本机方法)

代码:

public void saveImageBitmap(Bitmap image_bitmap, String image_name) {
        String root = Environment.getExternalStorageDirectory().toString();
        File myDir = new File(root, "/memories");
        if (!myDir.exists()) {
            myDir.mkdirs();
        }
        String fname = "Image-" + image_name + ".jpg";
        File file = new File(myDir, fname);
        Log.d(TAG, "File file: " + file);
        if (file.exists()) {
            file.delete();
        }
        try {
            file.createNewFile(); // if file already exists will do nothing
            FileOutputStream out = new FileOutputStream(file);
            image_bitmap.compress(Bitmap.CompressFormat.JPEG, 90, out);
            out.flush();
            out.close();

        } catch (Exception e) {
            e.printStackTrace();
        }

        MediaScannerConnection.scanFile(context, new String[]{file.toString()}, new String[]{file.getName()}, null);
    }

自android 10(Q)以来,将数据存储到媒体文件夹有一些变化。最简单的方法是在应用程序下的清单中添加
android:requestLegacyExternalStorage=“true”
,但这更像是一种变通方法


在这里搜索“store image android 10”,你会找到适合你的方法。

自android 10(Q)以来,将数据存储到媒体文件夹有一些变化。最简单的方法是在应用程序下的清单中添加
android:requestLegacyExternalStorage=“true”
,但这更像是一种变通方法


在这里搜索“store image android 10”,您会找到适合自己的方法。

您使用哪一个android版本?Q/10还是旧版本?在模拟器上,我使用API 29。它对您有效吗?您使用哪个android版本?Q/10还是旧版本?在模拟器上,我使用API 29,它对您有用吗?