使用 httpclient 和 asynctask 取消文件下载

2023-11-22

在我的应用程序中,我需要从 url 位置下载文件。我想在对话框中(或可选地在通知区域中)显示下载进度。我遇到过一些关于这个主题的好资源(比如http://progrnotes.blogspot.com/2010/09/c-android.html)。不幸的是,所有示例都没有明确指示如何根据用户的请求正确取消下载。所以我的问题其实很简单:

给定一个异步任务,它在后台下载文件(使用 httpclient)并显示一个包含下载进度和取消按钮的对话框,如何在按下按钮时取消下载并停止后台任务?

我知道终止线程通常不是一个好主意,因此我可能需要在后台线程中使用“取消”变量。如何将停止信号从按钮传达给异步任务?

问候, 伊沃


让您的按钮呼叫AsyncTask.cancel(true)然后检查isCancelled()从内部doInBackground(Params... params)。通过这种方式,您可以与后台线程传达应取消下载的信息,并且您可以采取适当的步骤来停止下载。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 httpclient 和 asynctask 取消文件下载 的相关文章

  • 具有多个代理的 HttpClient,同时处理套接字耗尽和 DNS 回收

    我们正在与朋友一起开发一个有趣的项目 我们必须执行数百个 HTTP 请求 所有请求都使用不同的代理 想象一下 它类似于以下内容 for int i 0 i lt 20 i HttpClientHandler handler new Http
  • 包管理器已去世

    我收到一位安装了很多应用程序的用户发来的邮件 称当我的应用程序使用以下代码收集活动信息时 他遇到了问题 getPackageManager queryIntentActivities mAinIntent 0 完整来源在这里 https g
  • 在Java中测试服务器是否启动的正确方法?

    简单地查看是否可以建立与网站 服务器的连接的正确方法是什么 我想要这个用于我正在编码的应用程序 如果我的网站离线 它只会提醒我 Thanks 您可以使用 HttpURLConnection 发送请求并检查响应正文中是否有该页面特有的文本 而
  • Twowayview 滚动时自动添加内边距

    我在用双向视图 https github com lucasr twoway view在我的一个项目中 这是android的扩展回收者视图 https developer android com reference android supp
  • 对话框片段嵌入取决于设备

    在我的应用程序中 用户从联系人或通话记录中选择电话号码 选择联系人非常简单 并且在手机和平 板电脑上都可以很好地工作 i e 在手机上会弹出新的全屏活动 在桌子上我会看到带有联系人列表的漂亮弹出对话框 似乎无法从通话记录中选择电话号码 因此
  • Android:如何让设备只运行一个应用程序?

    我有一个客户项目 我必须制作单任务 Android 设备 客户无法逃脱我公司开发的应用程序 此外 客户无法启动任何其他应用程序 而我们的应用程序会在设备启动时启动 总体而言 客户能够使用设备执行的所有操作就是运行我们的应用程序 除了 roo
  • android.view.InflateException:二进制 XML 文件行 #11:膨胀类 ImageView 时出错

    我只是尝试制作一个小的 android java xml 应用程序来计算游戏的分数 它给了我这个错误 Error inflateing class ImageView 有人知道解决方案吗 我实际上搜索了 ppl 说添加这个 android
  • 我如何从android中的复选框获取值

    我想获取复选框中所选项目的名称 但我只得到一些字母数字 如何从复选框中获取所选项目的名称 public View getView int position View convertView ViewGroup parent View vie
  • 有人可以给出一个 android 中 webview 实现的确切例子吗

    嗨 我正在使用开发 Android 应用程序WebView执行 我跟着官方安卓教程 http developer android com resources tutorials views hello webview html 在 Ecli
  • AltBeacon 服务位于单独的 Android 进程中

    我需要帮助 有一个适用于 Xamarin Android 的应用程序 在其中 启动了一个与 AltBeacon 库配合使用的服务 在此服务中 创建了一个线程 在该线程中不断扫描信标 服务以 StartForeground 启动 该服务应该有
  • Android WebView文件上传

    我正在开发一个 Android 应用程序 基本上它是一个WebView和一个进度条 Facebook 的移动网站 m facebook com 已加载到WebView 当我单击 选择文件 按钮上传图像时 没有任何反应 我已经尝试了所有的解决
  • Android volley使用RequestFuture.get()时出现超时异常

    在我的片段中 我尝试使用 TMDB 的开放电影数据库来获取有关 正在播放 电影的详细信息 如果我使用 RequestFuture get time TimeUnit 方法来执行此齐射请求 我总是会收到超时错误 如果我在 Safari 中手动
  • 数据未刷新“DynamiteModule:未找到 com.google.firebase.auth 的本地模块描述符类”

    我已经使用 Firebase 很长时间了 到目前为止 除了以下场景之外 一切都很好 有时我注意到我的应用程序不再获取新数据 我正在用一个活跃的监听器监听变化 并且我确实有keepSynced set to true 发生这种情况时 我会在日
  • Android:如果任务管理器终止,则重新调用应用程序

    如果应用程序线程被任务管理器杀死 则应用程序线程将关闭 需要重新调用应用程序 就像它被其他应用程序或任务管理器杀死一样 任何想法 您必须使用 START STICKY 命令运行后台服务 只需扩展 Service 并重写 onCommand
  • 如何使用共享首选项在两个 Android 应用程序之间共享数据?

    我有两个应用程序 App1 和 App2 我想使用共享首选项在 App1 中保存数据并在 App2 中访问 反之亦然 我可以在 App1 中保存数据并在 App2 中访问数据 但反之则不行 这就是我现在正在做的 在清单中 android s
  • 运行 Android 应用程序时出现错误

    我已经使用 Eclipse 创建了一个 Android 应用程序 但应用程序未在 AVD 上运行 它显示 不幸的是已停止工作 日志猫消息如下 07 29 04 59 50 789 W dalvikvm 784 threadid 1 thre
  • 分离 Fragment 和删除 Fragment 有什么区别?

    在 Android 文档中碎片交易 http developer android com reference android app FragmentTransaction html我注意到两种非常相似的方法 detach and remo
  • Android项目中使用java获取电脑的IP地址

    我在用ksoap2 android http code google com p ksoap2 android 我需要使用java获取IP地址 这样我就不必每次都手动输入它 我所说的 IP 地址是指 例如 如果我这样做ipconfig使用命
  • Android Jetpack Compose 尺寸随持续时间变化的动画

    如何在 Jetpack Compose 中添加内容大小更改动画的持续时间 尝试使用Modifier animateContentSize 并通过动画规格具有持续时间 但它只是突然进入或退出 没有观察到持续时间 Column Modifier
  • 应用程序关闭时单击 Firebase 通知后打开特定活动/片段

    我知道这个问题似乎重复 但根据我的要求 我在网上搜索了很多帖子 但没有任何对我有用 我的要求 我正在使用 Firebase 来获取推送通知 当应用程序打开时意味着一切正常 但我的问题是 如果有任何推送通知出现 应用程序处于后台 关闭意味着我

随机推荐

  • 如何使用给定模式 tail -f 最新日志文件

    我使用一些日志系统 它每小时创建一个日志文件 如下所示 SoftwareLog 2010 08 01 08 SoftwareLog 2010 08 01 09 SoftwareLog 2010 08 01 10 我试图跟踪最新的日志文件给出
  • Google Keep 如何在保存录音的同时进行语音识别?

    Android 的 SpeechRecognizer 显然不允许将您正在进行语音识别的输入记录到音频文件中 也就是说 要么使用 MediaRecorder 或 AudioRecord 录制语音 要么使用 SpeechRecognizer 进
  • JavaScript 中所有可打印字符的正则表达式

    寻找验证所有可打印字符的正则表达式 正则表达式仅需要在 JavaScript 中使用 我已经经历过this帖子 但主要讨论 net Java 和 C 但不讨论 JavaScript 您必须只允许这些可打印字符 a z A Z 0 9 以及三
  • 导入错误:无法在新安装上导入名称“opentype”

    我刚刚创建了一个 Google Cloud 计算引擎 安装了带有 pip 和 pip3 的 google cloud 软件包 并且在使用 python3 启动脚本时遇到以下错误 from google cloud import bigque
  • 无法加载程序集,HRESULT 异常:0x80131040

    例外 无法加载文件或程序集 WPFVisifire Charts Version 4 1 0 0 Culture neutral PublicKeyToken 99d724542e4db593 或其依赖项之一 找到的程序集的清单定义与程序集
  • 正则表达式:如何只允许大于零的整数

    我尝试了以下方法 只允许在文本框中输入整数 这很好用 但它允许其中有零 我还可以添加其他内容来防止添加零吗 d 这将允许 10 但不允许 01 并且只允许由数字组成的数字 即没有句点或减号 但也没有加号 科学记数法等 1 9 0 9
  • 如何强制 MVC 验证 IValidatableObject

    看起来 当 MVC 验证模型时 它首先运行 DataAnnotation 属性 如必需的或范围 如果其中任何一个失败 它会跳过在我的 IValidatableObject 模型上运行 Validate 方法 即使其他验证失败 是否有办法让
  • 在 SwiftUI 中将视图动画化以向上滑动并点击隐藏

    我创建了一个横幅修改器 从顶部显示横幅 这动画效果很好 但是 当我点击以关闭它时 它根本没有动画 只是隐藏 即使点击手势动作已withAnimation包裹它 struct BannerModifier ViewModifier Bindi
  • 无法从 QQmlPropertyMap 子类中的 QML 调用槽或 Q_INVOKABLE

    我正在尝试试驾QQmlPropertyMap班级 如果我可以对它进行子类化 它似乎可以很好地满足我的需求 文档here甚至给出了一些关于如何对其进行子类化的基本说明 所述文档还表明该类派生自QObject 就其价值而言 我在 Qt 5 0
  • 动态添加新元素后,jQuery 选择器不会更新

    我的选择器是 section attendance input last 但是 我将另一个输入附加到section attendance 我希望选择器现在选择该元素 因为它应该如此 因为 last 然而 由于某种原因 它没有 我不太确定为什
  • C++函数有默认返回值吗? [复制]

    这个问题在这里已经有答案了 我很惊讶包含以下代码行的文件已成功编译并且链接器生成可执行文件 我认为所有功能 除了main 必须有一个有效的return语句 除非返回类型是void int foo double bar int main 我缺
  • 从 CMD 返回错误代码到 Powershell

    我正在编写 Mssql 安装脚本 我想获得静默 mssql 安装的结果 在我的 PowerShell 脚本中 我运行以下命令 result start cmd c D SQL2008R2 SQL2008R2 setup exe CONFIG
  • 将 blob 文件发送到服务器

    我正在尝试将录音发送到服务器并将其另存为 wav 我在前端使用 Angular 在服务器上使用 net core 我能够录制 然后制作一个 音频 wav 类型的斑点 为了将其发送到服务器 我将其转换为数组缓冲区 然后将数组缓冲区转换为 Ba
  • 将音频与视频结合(不使用 ffmpeg)- Java

    我正在构建一个小程序来捕获屏幕和麦克风输入 音频 我可以单独录制这些文件 但找不到将这些文件组合起来制作新的音频视频的方法 视频文件位于 mov格式和音频是 wav格式 它们的长度完全相同 有什么办法可以合并这些文件吗 我尝试过 Java
  • Xcode 4.2 首选项“支持无线连接设备”有什么作用?

    在 Xcode 4 2 中 常规 选项卡下有一个名为 iOS 设备发现 的新首选项 其中包含 支持无线连接设备 复选框选项 这个选项有什么作用 检查后 我们如何使用这个新功能 将您的设备插入机器 转到 iTunes gt 设备 gt 摘要页
  • 将 iter() 替换为 par_iter():无法在“Fn”闭包中捕获的外部变量中可变地借用数据

    我本来希望更换一个iter with Rayon s par iter 在这样一个相当简单的情况下 但我没有这样做 之前的代码 indexes to increment iter for each x self some data x as
  • Angular-ui 的工具提示在 ng-grid 中无法正确显示

    我一直在寻找在 ng grid 上显示工具提示的解决方案 但没有成功 当我使用 ng grid 上的 cellTemplate 自定义单元格以包含工具提示时 我遇到了各种问题 工具提示要么不显示 要么表现奇怪 如 plunker 中所示 h
  • Python flake8 py 错误地报告 W391(文件末尾没有换行符)

    W391 规定文件末尾应该有一个 且只有一个 空行 然而 当文件末尾至少有一个换行符时 flake8 会报告错误 cat tmp test py def hello print hello hello hexdump C tmp test
  • 如何设置 PayPal 沙盒“卖家”帐户、“买家”帐户和应用程序教程

    我正在尝试建立一个使用 PayPal 的网站 不幸的是 PayPal 开发者网站 概念发生了很大变化 因此我发现的所有教程似乎都没用 例如这个 非常好 YouTube 教程很明显正在使用不存在的页面和功能 因此 请尝试仅通过最新信息 教程来
  • 使用 httpclient 和 asynctask 取消文件下载

    在我的应用程序中 我需要从 url 位置下载文件 我想在对话框中 或可选地在通知区域中 显示下载进度 我遇到过一些关于这个主题的好资源 比如http progrnotes blogspot com 2010 09 c android htm