마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

DownloadManager 를통해서 파일다운받을시

0 추천

DownloadManager 를통해서 파일다운받을시

long id = downloadManager.enqueue( request);

 다운로드메니저를 통해서 여러개의 파일을 같이 다운받을때

그러니까 위의 코드를 여러번 호출했을때

파일크기에따라서 BroadcastReceive 가 호출되는시점이 다를것같은데

 

파일다운로드가 완료되어서 BroadcastReceive 가 호출되었을때

어느파일이 다운완료되어서 BroadcastReceive 가 호출되었는지를 어떻게알수있나요?

 

각파일마다 다른처리를 해줘야되는데 다운로드완료되는 파일의 구분을 어떻게할수있는지

궁금합니다

 

 

 

구름처럼달처럼 (5,830 포인트) 님이 2016년 10월 3일 질문

1개의 답변

+1 추천
 
채택된 답변

아래처럼 BroadcastReceiver의 onReceive 메소드 안에서 필요한 데이터를 가져와서 확인해 보실 수 있습니다.

BroadcastReceiver downloadReceiver = new BroadcastReceiver() {
            @Override
            public void onReceive(Context context, Intent intent) {
                String action = intent.getAction();
                if (DownloadManager.ACTION_DOWNLOAD_COMPLETE.equals(action)) {
                    long downloadId = intent.getLongExtra(
                            DownloadManager.EXTRA_DOWNLOAD_ID, 0);
                    Query query = new Query();
                    query.setFilterById(enqueue);
                    Cursor c = dm.query(query);
                    if (c.moveToFirst()) {
                           //여기서 원하는 칼럼을 축출해서 비교해 보시면 될 듯.
                    }
                }
            }
        };

https://developer.android.com/reference/android/app/DownloadManager.html 보시면 지원되는 칼럼 목록이 나옵니다. 예를 들면,   DownloadManager.COLUMN_LOCAL_FILENAME 같은 경우는 님에게 필요한 칼럼일 수 있겠네요. 한번 체크해 보세요.

 

spark (227,830 포인트) 님이 2016년 10월 3일 답변
구름처럼달처럼님이 2016년 10월 3일 채택됨
...