Czy można anulować / zatrzymać pobieranie rozpoczęte przy użyciu DownloadManager?

Używam DownloadManager do pobrania kilku plików w mojej aplikacji. Nie jestem w stanie dowiedzieć się, jak anulować pobieranie, które zostało skolejkowane przez downloadManager.

Istnieją dwie możliwości: a. Użytkownik może go anulować ręcznie, klikając go na pasku powiadomień. b. Anuluj i usuń pobieranie za pomocą kodu.

Mam zdefiniowany następujący odbiornik.

<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> 

I w odbiorniku

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);

}

Jakieś spostrzeżenia?

questionAnswers(1)

yourAnswerToTheQuestion