gpt4 book ai didi

java - 2020如何将media目录下的文件保存到外存?

转载 作者:行者123 更新时间:2023-12-05 05:01:50 29 4
gpt4 key购买 nike

我有一个问题。

如何将文件从网络保存到 Android 设备的外部存储,使用Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_MUSIC)被贬低?

我的代码:

    private void download(Context mContext) throws IOException {
String requestUrl = "http://someresource/..."
URL url = new URL(requestUrl);
InputStream in = url.openStream();
mContext.getFilesDir();
URI uri = Environment.getExternalStoragePublicDirectory(
Environment.DIRECTORY_MUSIC).toURI();
Files.copy(in, Paths.get(uri.getPath() + "/_test.mp3"), StandardCopyOption.REPLACE_EXISTING);
in.close();
System.out.println("finished!");
}

我收到错误 W/System.err: java.nio.file.AccessDeniedException:/storage/emulated/0/Music/_test.mp3

我也看了文章https://developer.android.com/training/data-storage/shared/media#java但我想这更像是一个篡改现有媒体文件的指南,例如搜索或编辑文件标签等,而不是简单地将文件保存在媒体目录中。

更新:我的应用需要完成两项任务。我想将一个 mp3 文件保存到上述目录,并从该目录读取文件。

下面的问题:使用 Environment.getExternalStorageDirectory().getPath()+"/Music"; 返回 Android 设备内置闪存上的音乐文件夹。以这种方式,我想知道如何在 Android 设备的 SD 卡上获取音乐文件夹(插入时)。

自问:上述方法返回一个目录,应用程序不再可以直接访问该目录。我要完成的任务与上面提到的相同。正如@blackapps 所设想的那样,使用 MediaStore 类在 Q 中更可取。但我究竟该怎么做呢?

最佳答案

对于 android 10 和 11,将此行添加到您的 <application> android list 文件中的元素。希望它会起作用:

<application
android:requestLegacyExternalStorage="true"

关于java - 2020如何将media目录下的文件保存到外存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62559184/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com