我需要中止所有失敗/暫停/掛起/正在運行的下載,但保持成功。我認爲這是通過DownloadManager Query完成的,但我無法弄清楚如何編寫代碼。請幫忙。Android DownloadManager - 如何中止下載?
1
A
回答
0
做到這一點 downloadManager.remove(_yourdownloadID);
0
根據文檔說明,您可以撥打remove(downloadID...)
。
取消下載並將其從下載管理器中刪除。每個下載將在運行時停止,並且不再可通過下載管理器訪問。如果下載的文件部分或完整,則會被刪除。
文檔:http://developer.android.com/reference/android/app/DownloadManager.html#remove(long...)
Query query = new Query();
query.setFilterById (DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PENDING|DownloadManager.STATUS_RUNNING);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Cursor c = dm.query(query);
while(c.moveToNext()) {
// Here you have all the downloades list which are running, failed, pending
// and for abort your downloads you can call the `dm.remove(downloadsID)` to cancel and delete them from download manager.
dm.remove(cursor.getLong(cursor.getColumnIndex(DownloadManager.COLUMN_ID)))
}
1
我們應該調用,而不是setFilterById setFilterByStatus。
Button remove = (Button) findViewById(R.id.remove);
remove.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
DownloadManager.Query query = new DownloadManager.Query();
query.setFilterByStatus (DownloadManager.STATUS_FAILED|DownloadManager.STATUS_PENDING|DownloadManager.STATUS_RUNNING);
DownloadManager dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);
Cursor c = dm.query(query);
while(c.moveToNext()) {
dm.remove(c.getLong(c.getColumnIndex(DownloadManager.COLUMN_ID)));
}
}
});
相關問題
- 1. 如何使用DownloadManager在android中停止文件下載?
- 2. Android Downloadmanager未開始下載
- 3. DownloadManager在下載過程中下載「停止」
- 4. 如何在android中使用downloadmanager類下載多個文件?
- 5. 尋找下載完成downloadManager在Android
- 6. Android - 使用DownloadManager從inputStream下載
- 7. 使用Android DownloadManager下載.db文件
- 8. Android DownloadManager'下載需要網絡'錯誤
- 9. 如何使用DownloadManager下載base64圖像?
- 10. DownloadManager:防止下載應用程序中的列表文件
- 11. 暫停android DownloadManager
- 12. 如何使用android下載管理器在通知欄中停止下載?
- 13. 如何使用Android DownloadManager?
- 14. DownloadManager VS自己的下載實施?
- 15. 使用DownloadManager下載ProgressBar和Android中的睡眠線程
- 16. Android:在DownloadManager中顯示下載進度條
- 17. 在Android中使用DownloadManager下載視頻文件
- 18. 在android中使用downloadmanager類下載多個文件?
- 19. 使用Android中的DownloadManager下載完成後,通知欄消失
- 20. 如何通過Android中的DownloadManager下載Muliple文件(圖像/視頻url)
- 21. DownloadManager下載超過2.1 GB的文件
- 22. 使用DownloadManager從S3下載apk文件
- 23. 防止媒體掃描器掃描JPG下載Android上的DownloadManager? (開發人員)
- 24. DownloadManager下載文件,如果它已被下載
- 25. 是否可以取消/停止使用DownloadManager啓動的下載?
- 26. Android DownloadManager ETag支持
- 27. 使用DownloadManager和DownloadManager打印成功下載。查詢
- 28. 使用DownloadManager下載HTTP/HTTPS URI
- 29. Android DownloadManager error
- 30. Android DownloadManager使用ByteStream
是的,但從光標c,我如何提取刪除方法所需的ID? – user3140979
當你調用enqueue方法時,它會返回你的下載ID。因此,您必須將這些ID保存在您的共享首選項中,以便將來與這些下載相關的呼叫。 –
我需要從c對象中獲取ID,而不是從入隊。 – user3140979