Android DownloadManager 保存到 Download 文件夹

2024-02-06

我正在使用 DownloadManager 来下载文件,我想将下载内容放在标准下载文件夹中,以便人们可以使用文件管理器在最明显的位置轻松找到它们:

Uri downloadLocation = Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename));
request.setDestinationUri(downloadLocation);
Long reference = downloadManager.enqueue(request);

但我遇到了一个例外,因为那不是外部驱动器。

有没有办法将文件下载到用户的下载文件夹中?

另外,如果他们没有外部存储器,只有内部存储器怎么办?

Thanks.


Uri downloadLocation=Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename));

这不是你使用的方式Environment.DIRECTORY_DOWNLOADS。该常数用于getExternalStoragePublicDirectory():

File dir=Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS);

dir.mkdirs();

Uri downloadLocation=Uri.fromFile(new File(dir, filename);;

请注意,该目录可能尚不存在,因此您应该调用mkdirs()你自己。

另外,如果他们没有外部存储器,只有内部存储器怎么办?

几乎所有 Android 设备都有外部存储器。外部!=可拆卸。 Android SDK 所说的“外部存储”是指用户可以通过 USB 线访问的存储,通常与“内部存储”位于板载闪存的同一分区上。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android DownloadManager 保存到 Download 文件夹 的相关文章

随机推荐