2016-01-31 32 views
0

有些東西我不明白Android DownloadManager,因爲如果我從Chrome下載文件(從我自己的應用程序下載文件時是一樣的),並且正在下載文件,如果我在sdcard/Download用一個文件瀏覽器,我可以看到用它的最終名稱命名的文件,並且它的最終大小,而該文件不再可用。如何使用DownloadManager?

所以,我不知道如何知道文件何時是好的。當然,如果我還在運行我的應用程序,我可以等待廣播接收器收到通知,但是這種情況在長時間下載時不會發生。

如果我離開我的應用程序並運行一會之後,如何檢查我的下載?

+0

你的意思是你想找到下載的時間狀態? – Amir

回答

1

With Curser你可以找到你的文件的狀態。您的代碼可能是這樣的:

mIdColumnId = cursor.getColumnIndexOrThrow(DownloadManager.COLUMN_ID); 
    mTitleColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_TITLE); 
    mStatusColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_STATUS); 
    mReasonColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_REASON); 
    mTotalBytesColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_TOTAL_SIZE_BYTES); 
    mCurrentBytesColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_BYTES_DOWNLOADED_SO_FAR); 
    mMediaTypeColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_MEDIA_TYPE); 
    mDateColumnId = cursor 
     .getColumnIndexOrThrow(DownloadManager.COLUMN_LAST_MODIFIED_TIMESTAMP); 

通過將TOTAL_SIZEDOWNLOAD_SO_FAR你可以找到下載多少百分比的文件。 爲完整代碼看看this庫。

+0

只要我不退出我的應用程序,我認爲它是可用的,在這種情況下,我可以靜靜地等待下載完成時DownloadManager發送給我的通知。但我的問題主要是當我離開我的應用程序並稍後回來。我認爲我不應該再從DownloadManager獲取信息了嗎? – 2ndGAB

+0

你需要每次打電話給curser下載文件列表及其狀態 – Amir

+0

好的,我明白了。非常感謝。 – 2ndGAB

相關問題