我正在使用DownloadManager在我的應用程序中下載一堆文件。我無法弄清楚如何取消已經由downloadManager排隊的下載。是否可以取消/停止使用DownloadManager啓動的下載?
有兩種可能性: a。用戶可以通過在通知欄中單擊來手動取消它。 b。通過代碼取消並刪除下載。
我有以下定義的接收器。
<receiver
android:name=".DownloadStatusReceiver"
android:exported="true">
<intent-filter>
<action android:name="android.intent.action.DOWNLOAD_COMPLETE" />
<action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" />
</intent-filter>
</receiver>
和接收器
if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) {
Constants.showLog(TAG, "Notification clicked");
long downloadId = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, 0);
DownloadManager dm =(DownloadManager)context.getSystemService(Context.DOWNLOAD_SERVICE);
dm.remove(downloadId);
}
任何見解?
'remove()'應該工作,根據文檔。當然,在下載完成之前,你似乎不會調用remove()。這就好像在馬被狂奔之後鎖定穀倉。 :-) – CommonsWare
我會實現我自己的下載工作流程,因爲內置的下載管理器有問題,不適用於舊設備。 – vorrtex
@CommonsWare:我打電話通知欄被點擊時刪除。我假設通知點擊事件是通過下載是否完成來實現的。 – PravinCG