2016-11-11 66 views
2

我有一个DownloadManager下载视频,这样我可以用播放器播放之前如何标记文件作为暂时的。但是,当我开始下载,它已经产生的未完成.mp4文件,所以当我试图下载完毕之前播放,它会显示错误,是可能的变化下载完毕之前,它的扩展?Android的下载管理器下载完成

DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);  
Uri uri = Uri.parse(url);  
DownloadManager.Request request = new DownloadManager.Request(uri); request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE).setDescription("caching video").setDestinationInExternalPublicDir("/Android/data/", id + ".mp4"); 
long id = manager.enqueue(request); 

回答

1

您可以在一点点不同的方式解决你的问题
相反的change its extension before finish downloading你需要用改变的扩展这样开始下载:

request.setAllowedNetworkTypes(DownloadManager.Request.NETWORK_WIFI|DownloadManager.Request.NETWORK_MOBILE).setDescription("caching video").setDestinationInExternalPublicDir("/Android/data/", id + ".mp4.tmp"); 

,一旦下载完成后,重命名文件到"/Android/data/", id + ".mp4"

+0

,所以我需要添加下载完成监听器? – ywj7931

+0

@ ywj7931,你要实现我的解决方案,那么是的 –