2012-03-13 23 views
9

Uygulamam büyük zip dosyalarını indiriyor (100mb +). İndirmeyi kolaylaştırmak için varsayılan DownloadManager kullanıyorum. Google API dokümanları bir BroadcastReceiver kaydettirmeyi ve ACTION_NOTIFICATION_CLICKED sesini dinlemenizi önerir. Bunu yapıyorum ama BroadcastReceiver içinden DownloadManager'ı nasıl arayacağımı bilmiyorum.Yayın Yöneticisi'nden indirme yöneticisi nasıl başlatılır?

Yapmak istediğim temelde tarayıcının yaptığı şey. Tarayıcı bir dosyayı indirdiğinde ve kullanıcı DownloadManager bildirimini tıkladığında DownloadManager penceresi açılır. Bunu gerçekleştirmek için hangi amacı kullanırım?

Benim Kodu: Kendi cevabı Bulundu

<receiver android:name="com.test.receiver.DownloadReceiver"> 
    <intent-filter> 
    <action android:name="android.intent.action.DOWNLOAD_COMPLETE"></action> 
    <action android:name="android.intent.action.DOWNLOAD_NOTIFICATION_CLICKED" /> 
    </intent-filter> 
</receiver> 

public class DownloadReceiver extends BroadcastReceiver { 

private static final String tag = DownloadReceiver.class.getSimpleName(); 

@Override 
public void onReceive(Context context, Intent intent) { 
    String action = intent.getAction(); 
    if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) { 
    *** code for unzipping removed *** 
    } 
    else if (DownloadManager.ACTION_NOTIFICATION_CLICKED.equals(action)) { 
     // Open the download manager 
     // BUT HOW??? 

    } 

cevap

19

. Bu hile yapar.

Intent dm = new Intent(DownloadManager.ACTION_VIEW_DOWNLOADS); 
dm.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
context.startActivity(dm); 
İlgili konular