2017-01-11 1 views
0

DownloadManager는 백그라운드 서비스입니다. DownloadManager를 사용하여 현재 다운로드중인 파일 목록을 얻고 싶습니다.다운로드 관리자를 사용하여 다운로드중인 파일의 이름을 찾는 방법

활동 A에서 다운로드 프로세스가 시작되었고 활동 B가 열립니다. 활동 B에서는 어떤 URL/파일이 다운로드되고 있는지 알고 싶습니다. 이것을 달성하는 방법? 여러 파일을 다운로드하는 경우 어떻게 목록을 가져올 수 있습니까?

+0

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

답변

0

브로드 캐스트 리시버에서 다음과 같이 다운로드 한 파일을 확인할 수 있습니다. YOUR_DM을 DownloadManager 인스턴스로 바꾸십시오.

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

나는 현재 다운로드중인 파일의 목록이 필요합니다. 따라서이 코드를 통해 파일 다운로드가 시작되고 다운로드가 완료되고 다운로드가 완료되고 완료된 목록을 유지할 때 브로드 캐스트를 보내야합니다. – suku

+0

문서에서 https://developer.android.com/reference/android/app /DownloadManager.html 다운로드 관리자에서 원하는 모든 상수 목록을 볼 수 있습니다. 따라서 다운로드를 원할 경우 다운로드 할 수 있습니다. –

+0

이벤트가 아니므로 진행중인 다운로드를 찾으려면 방송 할 필요가 없습니다. – suku

관련 문제