Android DownloadManager保存到下载文件夹

Android DownloadManager保存到下载文件夹,android,android-file,android-download-manager,Android,Android File,Android Download Manager,我正在使用DownloadManager下载文件,我想将下载内容放在标准下载文件夹中,以便人们可以使用file manager在最明显的位置轻松找到它们: Uri downloadLocation = Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename)); request.setDestinationUri(downloadLocation); Long reference = downloadManager.enqu

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

Uri downloadLocation = Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename));
request.setDestinationUri(downloadLocation);
Long reference = downloadManager.enqueue(request);
但我得到一个例外,因为那不是一个外部驱动器

是否无法将文件下载到用户的下载文件夹

还有,如果它们没有外部内存,只有内部内存呢

谢谢

Uri downloadLocation=Uri.fromFile(new File(Environment.DIRECTORY_DOWNLOADS, filename));
这不是您使用
环境的方式。目录\u下载
。该常量用于
getExternalStoragePublicDirectory()

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

还有,如果它们没有外部内存,只有内部内存呢

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

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

dir.mkdirs();

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