2016-11-11 89 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,你要實現我的解決方案,那麼是的 –