androidandroid-download-managerresume-download

Download file with pause and resume button?


I've googled much and I don't find my solution about two pause and resume button.
I use from this code and this .
But I don't know how implement pause and resume capability and set what to my pause and resume button onclick event:

pausebtn.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            stopdownload(); AND resumedownload(); <------
        }
    });


Thanks in advance.


Solution

  • To stop download call

    downloadTask.cancel(false);
    

    To support resuming download you can use the code from Resume http file download in java:

    HttpURLConnection connection = (HttpURLConnection) url.openConnection();
    if(ISSUE_DOWNLOAD_STATUS.intValue()==ECMConstant.ECM_DOWNLOADING){
        File file=new File(DESTINATION_PATH);
        if(file.exists()){
             downloaded = (int) file.length();
             connection.setRequestProperty("Range", "bytes="+(file.length())+"-");
        }
    }else{
        connection.setRequestProperty("Range", "bytes=" + downloaded + "-");
    }
    connection.setDoInput(true);
    connection.setDoOutput(true);
    progressBar.setMax(connection.getContentLength());
    in = new BufferedInputStream(connection.getInputStream());
    fos=(downloaded==0)? new FileOutputStream(DESTINATION_PATH): new FileOutputStream(DESTINATION_PATH,true);
    bout = new BufferedOutputStream(fos, 1024);
    byte[] data = new byte[1024];
    int x = 0;
    while ((x = in.read(data, 0, 1024)) >= 0) {
        bout.write(data, 0, x);
         downloaded += x;
         progressBar.setProgress(downloaded);
    }