如何在android中为下载管理器添加暂停和恢复功能?

问题描述 投票:0回答:1

我想为android制作一个下载管理器我想知道如何添加暂停和恢复功能我使用Android的HttpUrlConnection类获取数据。我也想知道如何访问我从HttpUrlConnection获得的InputStream。 getInputStream()由于Internet连接而中断(例如用户关闭Internet连接)。任何示例代码都会有所帮助

android download-manager
1个回答
0
投票

下载示例here

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);
}

致谢:https://stackoverflow.com/users/705297/pomatu

© www.soinside.com 2019 - 2024. All rights reserved.