我有一個下載管理器,我傳遞文件的URL,並且還具有像在onStart(),進步方法回調(整數..)獲取回調引用了正在進行的下載任務
現在,當我點擊一個文件要下載,我開始一個新的活動,其中Manager在後臺開始下載,並且回調方法被適當地調用。如果我關閉此活動並再次單擊相同的文件,則在前一個文件正在進行時,文件下載將再次開始。
我要的是通過獲取任何參考或東西
我有一個下載管理器,我傳遞文件的URL,並且還具有像在onStart(),進步方法回調(整數..)獲取回調引用了正在進行的下載任務
現在,當我點擊一個文件要下載,我開始一個新的活動,其中Manager在後臺開始下載,並且回調方法被適當地調用。如果我關閉此活動並再次單擊相同的文件,則在前一個文件正在進行時,文件下載將再次開始。
我要的是通過獲取任何參考或東西
我終於解決了這個問題由我自己和ANS我自己的問題,以顯示前一個文件不是一個新的下載。 這不用..
所以我所做的就是用ThreadPoolExeutor擴展它覆蓋beforeExecute()和afterExecute() MyThreadPoolExecutor類的方法。
現在我將可運行任務保存在beforeExecute的HashMap中,然後在AfterExecute中將其刪除。所以當我再次打開下載活動時,我通過檢查我保存在MyThreadPoolExecutor中的HashMap中的任務來檢查任務是否已經在執行。所以如果任務已經執行,我只是通過setter更新了回調引用。所以現在新的回調方法被調用。
注意:在下載活動中,我創建了一個擴展可運行接口的任務,並且此任務具有某種標籤,我可以如何識別其已在運行或未運行。