gpt4 book ai didi

java - Android 下载长文件并带有取消选项

转载 作者:行者123 更新时间:2023-12-01 22:50:02 24 4
gpt4 key购买 nike

我使用的是 Android 下载管理器。然后,我看到了错误,所以基本上我使用 Intent 服务来下载文件,并从 Intent 服务中使用处理程序更新进度对话框。

在 Intent 服务中,我打开一个输入流并使用输出流将输出文件写入下载文件夹中。

现在一切都很好,但我的问题是如何为用户提供中途取消下载的选项?我在 onHandleIntent 中的代码如下。

        InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(footyDirectory.toString()+"/demo.mp4");

byte data[] = new byte[1024];
long total = 0;
int count;
while ((count = input.read(data)) != -1) {
total += count;
// publishing the progress....
Bundle resultData = new Bundle();
resultData.putInt("progress" ,(int) (total * 100 / fileLength));
receiver.send(UPDATE_PROGRESS, resultData);
output.write(data, 0, count);
}

output.flush();
output.close();
input.close();

最佳答案

在你的intentService中取消一个变量。当用户想要取消时,将cancels设置为true。在 while 循环中,检查取消的值。如果为真,则退出循环并进行清理,并执行您需要的任何清理操作,例如删除部分文件、删除通知等。

关于java - Android 下载长文件并带有取消选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24858178/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com