下载文件,暂停和恢复按钮?(Download file with pause and resume

2019-10-20 19:21发布

我GOOGLE了很多,我没有找到我的解决方案约两暂停和恢复按钮。
我从使用此代码和本 。
但我不知道如何实现暂停和恢复能力,并设置什么我的暂停和恢复按钮onclick事件:

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


提前致谢。

Answer 1:

要停止下载通话

downloadTask.cancel(false);

为了支持断点续传下载,您可以使用从代码恢复HTTP文件下载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);
}


文章来源: Download file with pause and resume button?