2013-04-14 4 views
2

그래서 다운로드 관리자를 사용하여 내 응용 프로그램에서 여러 파일을 다운로드하고 있습니다. 특정 활동을 시작하기 전에 다운로드를 완료하려면이 파일이 필요합니다. 다운로드가 활성 상태인지 확인하여 다운로드가 완료 될 때까지 기다리라고 알릴 수는 있습니다. 그런 다음 작업이 끝나면 버튼을 표시해야합니다. 나는 이걸 봤어, 나 자신 (맹목적으로) 어떤 코드를 시도하고 아무것도 작동하지 않습니다. 누군가가 올바른 방향으로 나를 찔러 주면 고맙겠습니다.다운로드가 활성화되어 있는지 확인하십시오.

답변

6

query()을 사용하여 다운로드에 대해 문의하십시오. enqueue()을 호출하면 반환 값은 다운로드 ID입니다. 당신은뿐만 아니라 상태별로 조회 할 수 있습니다 다운로드가 완료되면

Cursor c = downloadManager.query(new DownloadManager.Query() 
     .setFilterByStatus(DownloadManager.STATUS_PAUSED 
       | DownloadManager.STATUS_PENDING 
       | DownloadManager.STATUS_RUNNING)); 

가 통지하려면 BroadcastReceiverACTION_DOWNLOAD_COMPLETE에 등록하십시오 ACTION_NOTIFICATION_CLICKED 방송 때 아는 당신은 또한 들어야

BroadcastReceiver onComplete = new BroadcastReceiver() { 
    @Override 
    public void onReceive(Context context, Intent intent) { 
     // do something 
    } 
}; 

registerReceiver(onComplete, new IntentFilter(
     DownloadManager.ACTION_DOWNLOAD_COMPLETE)); 

주 사용자가 실행중인 다운로드에 대한 알림을 클릭했습니다.

관련 문제