我已经制作了一个Android应用程序,可以在单击ListView歌曲时下载mp3歌曲。我已经使用了这个
request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS,"MySong.mp3");
但我的歌曲不时从mysql数据库更新。当我使用上述方法时,所有歌曲的下载文件名为 MySong.mp3
如果我避免使用上述方法,则文件会以实际文件名下载,但下载完成后会立即删除。有解决方案吗?
答案 0 :(得分:0)
所以..这就是我这样做的方式,我相信这对你有帮助。
//define the path of your file location.
String path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS)
+File.separator + "FOLDER_NAME" + File.separator + fileName;
//create the new file.
final File saveFile = new File(path);
//make all the directory structures needed if the location doesn't exist.
File parentDest = saveFile.getParentFile();
if (!parentDest.exists()) {
parentDest.mkdirs();
}
设置完成后,您必须确保为DownloadManager提供此文件的确切路径。
request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS,
File.separator + "FOLDER_NAME" + File.separator + fileName);
希望这有帮助, JozeRi
答案 1 :(得分:0)
通过评论中提供的链接我已经遵循了这个并且它有效。感谢@CommonsWare链接
String url = "www.somedownloalink.com/some-song.mp3";
String filename = url.substring(url.lastIndexOf('/') + 1);
request.setDestinationInExternalFilesDir(this, Environment.DIRECTORY_DOWNLOADS,filename);