我有一个从网址下载mp3文件的应用。下载工作,我在下载文件夹中获取一个文件。但是,当我点击它时,它会说"无法打开文件。"当我使用getExternalStorageDirectory()时,它也不会检索文件或获取任何信息。我是如何实现下载功能的?或者我是否有更多与下载管理器有关的事情?我也试过使用addCompletedDownload(),但它只会添加一个" 0"文件。
private long DownloadData (Uri uri) {
long downloadReference;
downloadManager = (DownloadManager)getSystemService(DOWNLOAD_SERVICE);
// Create request for android download manager
DownloadManager.Request request = new DownloadManager.Request(uri);
//Setting title of request
request.setTitle("Downloading Song");
//Setting description of request
request.setDescription("Downloading Song from URL");
//Set the local destination for the downloaded file to a path within the application's external files directory
request.setDestinationInExternalFilesDir(MainActivity.this, Environment.DIRECTORY_DOWNLOADS, "DownloadSong.mp3");
//Enqueue download and save into referenceId
downloadReference = downloadManager.enqueue(request);
return downloadReference;
}
答案 0 :(得分:1)
您向我们展示的代码绝对不足以理解该问题。 Here是使用DownloadManager
下载的示例代码。
根据所描述的症状,我认为您还没有正确完成下载操作或写入操作。您应该检查下载是否已完成并且文件是否已写入和关闭。文件出现的事实意味着下载和写入已经开始,但并不是它们正确完成。
使用DownloadManager术语,它应该是completed
。看How to notify after all download completed from Android download manager关于那个