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,它对您有用吗?