2013-04-14 80 views
2

因此,我使用下載管理器在我的應用程序中下載多個文件。我需要這些文件在開始某個活動之前完成下載。我如何檢查是否有活動的下載,所以我可以告訴用戶等待下載完成。然後,當它們完成時,我需要使按鈕可見。我已經使用了這個,甚至自己嘗試了一些代碼(一味地),沒有任何工作。如果有人能讓我朝正確的方向發展,我會很感激。檢查下載是否有效

回答

6

使用query()查詢下載。當您致電enqueue()時,返回值是下載的ID。您可以通過狀態以及查詢:

Cursor c = downloadManager.query(new DownloadManager.Query() 
     .setFilterByStatus(DownloadManager.STATUS_PAUSED 
       | DownloadManager.STATUS_PENDING 
       | DownloadManager.STATUS_RUNNING)); 

當下載完成時收到通知,註冊BroadcastReceiverACTION_DOWNLOAD_COMPLETE

BroadcastReceiver onComplete = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // do something 
    } 
}; 

registerReceiver(onComplete, new IntentFilter(
     DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

請注意,您也應該監聽ACTION_NOTIFICATION_CLICKED廣播時知道用戶點擊了運行下載的通知。