2014-09-21 124 views
0

我已经编写了使用DownloadManager下载某些文件的代码。现在我想以:DownloadManager:下载完成时通知

  1. 通知我的活动,当下载完成后(并至极下载完成)
  2. 收到有关特定文件的下载进度定期信息(如在Play商店,在那里下载进度显示发生里面的DownloadManager通知栏和里面google播放当前页)

回答

4

要在下载完成时收到通知,请注册Receiver以接收ACTION_DOWNLOAD_COMPLETE广播。它将包含一个EXTRA_DOWNLOAD_ID附加信息,其中包含已完成下载的 参考ID。

IntentFilter filter = new IntentFilter(DownloadManager.ACTION_DOWNLOAD_COMPLETE); 
BroadcastReceiver receiver = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     long reference = intent.getLongExtra(DownloadManager.EXTRA_DOWNLOAD_ID, -1); 
     if (myDownloadReference == reference) { 
      // Do something with downloaded file. 
     } 
    } 
}; 
registerReceiver(receiver, filter);