2016-10-03 2 views
-1

У меня есть приложение, которое позволяет людям делать обновления своих собственных приложений. Он использует диспетчер загрузки и использует очередь «DownloadManager». Проблема в том, что я хочу отслеживать, когда загрузка начинается и заканчивается (время, в течение которого загрузка продолжалась).DownloadManager queue - время начала

У меня есть приемник для проверки, когда загрузка заканчивается, но как узнать, когда она началась, так как она находится в очереди?

Если бы я знал, когда его время придет в очередь, я могу начать подсчитывать время.

Что может быть возможным решением для этого?

ответ

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 не передает эти изменения статуса. –

Смежные вопросы