2017-01-11 3 views
0

DownloadManager ist ein Hintergrunddienst. Ich möchte eine Liste der Dateien erhalten, die gerade mit dem DownloadManager heruntergeladen werden.So finden Sie den Namen der heruntergeladenen Datei mit dem Download Manager

Sagen Sie Download-Prozess wird in Aktivität A gestartet und ich öffne Aktivität B. In Aktivität B möchte ich wissen, welche URL/Datei heruntergeladen wird. Wie erreiche ich das? Wenn mehrere Dateien heruntergeladen werden, wie bekomme ich dann die Liste?

+0

http://stackoverflow.com/questions/13321984/android-downloadmanager-get-filename – Mrinmoy

Antwort

0

Sie können etwas wie unten in Ihrem Broadcast-Empfänger tun, um die heruntergeladenen Dateien zu identifizieren. Ersetzen Sie YOUR_DM durch Ihre DownloadManager-Instanz.

receiver_complete = new BroadcastReceiver(){ 
     @Override 
      public void onReceive(Context context, Intent intent) { 
      String action = intent.getAction(); 
       if (action.equals(DownloadManager.ACTION_DOWNLOAD_COMPLETE){ 
        Bundle extras = intent.getExtras(); 
        DownloadManager.Query q = new DownloadManager.Query(); 
        q.setFilterById(extras.getLong(DownloadManager.EXTRA_DOWNLOAD_ID)); 
        Cursor c = YOUR_DM.query(q); 

        if (c.moveToFirst()) { 
        int status = c.getInt(c.getColumnIndex(DownloadManager.COLUMN_STATUS)); 
        if (status == DownloadManager.STATUS_SUCCESSFUL) { 
        // process download 
        title = c.getString(c.getColumnIndex(DownloadManager.COLUMN_TITLE)); 
        // get other required data by changing the constant passed to getColumnIndex 
        } 
       } 
      } 
     } 
    }; 
+0

Ich brauche Liste der Dateien, die gerade heruntergeladen werden. Daher muss ich mit diesem Code eine Übertragung senden, wenn die Datei mit dem Download beginnt und den Download beendet hat, und eine Liste des gestarteten und abgeschlossenen Downloads führen. – suku

+0

Im Dokument, https://developer.android.com/reference/android/app /DownloadManager.html Sie erhalten eine Liste aller gewünschten Konstanten mit dem Download-Manager. Also, wenn Sie Downloads herunterladen möchten, können Sie es auch bekommen. –

+0

Ich sollte nicht senden müssen, um laufende Downloads zu finden, da es kein Ereignis ist – suku

Verwandte Themen