我在我正在開發的應用程序中實現類似DownloadManager的功能。我使用AsyncTask將下載推送到後臺。
此AsyncTask位於一個名爲DownloadService
的服務中,該服務在我的一個活動中實例化。所以這意味着多次下載可以從一個活動的不同實例開始。
我想要做的是有一個特定的活動,我可以讓所有當前正在運行的下載顯示其進度,並有按鈕來暫停或恢復下載。如何檢索AsyncTask的運行實例?
回答
如果你想要這樣的東西,你可以將所有異步任務存儲在服務中的所有異步任務中,然後用http://developer.android.com/reference/android/os/AsyncTask.html#getStatus%28%29檢查它們的狀態。
希望這會有所幫助!
取而代之的是在一個Activity中使用DownloadService
,而是將它作爲類成員放入您的應用程序的Application
類中,因爲每個應用程序只會存在一個此類的實例。然後您可以通過撥打((YourApplication)getApplication()).getDownloadService()
來檢索您的活動。您將有:
- 創建一個類,擴展應用,說YourApplication
- 聲明它在清單文件中的
<application>
標籤作爲android:name="YourApplication"
- 用它在你的活動通過調用
((YourApplication)getApplication()).someMethodToGetDownloadService()
正如我所說的'DownloadService'是一個單獨的類(我沒有把它放在我的活動中,我只是在那裏實例化它)。 –
偉大的然後在你的應用程序類中實例化它。在活動中檢索並向其提交任務。然後,您應該可以進行一項進度活動,以便您可以檢索所有正在運行的任務並允許對其執行操作。 – Jeshurun
- 1. Android AsyncTask - 避免多個實例運行
- 2. 如何創建AsyncTask實例
- 3. 如何運行mongod實例
- 4. AsyncTask實例
- 5. 如何運行多個AsyncTask?
- 6. 運行可下載的CloudFoundry實例時,如何檢索IP地址?
- 7. 如何從以下示例實現AsyncTask?
- 8. 如何運行sphinx的多個實例?
- 9. 如何從非實例類運行實例的方法/函數?
- 10. 如何檢查實例在heroku中運行
- 11. 如何停止運行Floodlight實例?
- 12. Docker:如何保存運行實例?
- 13. 如何計算運行EC2實例?
- 14. 如何運行SQL Server Express 2008實例
- 15. AWS Data Pipeline如何運行EC2實例?
- 16. Android AsyncTask實例或類
- 17. 如何實現AsyncTask?
- 18. 如何每分鐘運行一次AsyncTask?
- 19. 如何在Alarmmanager內運行asynctask?
- 20. 如何多次運行同一個asynctask?
- 21. AsyncTask如何運行但不起作用?
- 22. SQL Server:2005實例正在運行,需要運行2008實例
- 23. 檢索在實例上調用的二元運算符
- 24. 如何從其他進程運行ConEmu實例運行命令
- 25. AsyncTask doInBackground不運行
- 26. Android如何在AsyncTask運行過程中停止/取消AsyncTask?
- 27. 檢索給定實例ID的EC2實例的IP地址
- 28. Powershell:如何檢查Internet Explorer的任何實例是否已在運行
- 29. 檢索活動實例的ActivityInfo
- 30. 檢索類和類實例的種類
好,說我創建了你說的這個數組。我如何在不同於創建它的活動中訪問它?還有,我怎樣才能在不同的活動中添加它? –