2016-10-03 63 views
-1

我有一個應用程序,允許人們更新自己的aplications。它使用下載管理器並使用「下載管理器」隊列。問題是我想監視下載何時開始和結束(下載持續的時間)。DownloadManager隊列 - 開始時間

我有一個接收器來檢查下載何時結束,但是我怎麼知道它是在什麼時候開始的?

如果我知道他的時間到達隊列時,我可以開始計算時間。

對此有什麼可能的解決方案?

回答

1

您可能需要查詢DownloadManager更新:

DownloadManager.Query query = new DownloadManager.Query(); 
query.setFilterById(downloadId); 
    // downloadId is returned to you upon DownloadManager.enqueue 

Cursor cursor = downloadManager.query(query); 
if (cursor != null && cursor.moveToFirst()) { 
    try { 
     int status = cursor.getInt(cursor.getColumnIndex(DownloadManager.COLUMN_STATUS)); 
     // Decide what to do with it 
     // Status are defined as constants in DownloadManager.STATUS_* 
    } finally { 
     cursor.close(); 
    } 
} 
+0

謝謝,但在這種情況下,我將不得不做,像每一秒它不會eficient。我想沒有解決方案,因爲這個DownloadManager沒有這個選項。 –

+0

是的,我不認爲有一個直接的解決方案。就我所知,DownloadManager不會廣播這些狀態更改。 –