我正在使用 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(使用前将#替换为@)