取消的 AsyncTask 挂起新的 HttpRequest

2024-03-03

我遇到了 asynctasks 和 http 请求的问题。

用户可以按下两个不同的按钮。这两个按钮都从网络服务器下载信息。我希望这些请求可以取消。每次调用之前都会显示一个进度对话框。

http请求是在异步任务中执行的,并且我在进度对话框上有一个 OnDismiss 监听器,如果按下后退键,它会取消异步任务。

效果是 50/50。

如果我执行http请求,取消asynctask,然后执行一个新请求,它可能会起作用,但也可能导致http请求无限挂起。

这行是它挂起的地方:

response = httpclient.execute(urlConnection, context);

是否有其他方法可以取消可取消的呼叫,或者我可以采取什么措施来避免挂起?


我写了一个AsyncTask通过http执行一些下载,我发现调用cancel()任务上的 并不会真正停止任务的执行。 “取消”的任务将继续执行其后台操作。呼唤cancel()似乎只是打电话onCancelled()然后是AsyncTask doesn't call onPostExecute()当它完成时。也许您的第一个任务仍然拥有下一个任务所需的某些网络资源?

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

取消的 AsyncTask 挂起新的 HttpRequest 的相关文章

  • 如何使用 kotlin Android 从 Url 读取 JSON?

    我正在使用 kotlin 来开发应用程序 现在我想从服务器获取 JSON 数据 在java中 我实现了Asyntask以及Rxjava来从Url读取JSON 我也在谷歌搜索 但我无法获得满足我的要求的正确详细信息 如何使用 kotlin 从
  • 使用 ActiveAndroid 库存储 HashMap

    我有一堂课 Table name Control public class Control extends Model Column private String name Column private Map
  • 如何在android中获取MapView API?

    如何在android中获取MapView API thanks Android 文档中实际上是这么写的 你好 地图视图 http developer android com guide tutorials views hello mapvi
  • Android版本App更新代码

    我读到如果我们想更新Google Play中的应用程序 版本代码应该高于以前的apk文件 我有一个版本代码为 20 且版本名称为 1 0 的应用程序 那么要更新app 应该如何增加版本号呢 应该增加10吗 或者仅仅 1 就足够了 即版本代码
  • 多种语言的多种字体

    我最近在开发应用程序时遇到了一种情况 我必须在文本视图中显示不同的语言 目前我正在展示一些使用字体 字体像这样 Typeface tf Typeface createFromAsset this getAssets DroidHindi t
  • Google 地图位于活动的中间区域

    我正在使用 Android studio 2 1 2 我检查了一下 大多数问题要么使用旧版本的 Android studio 要么使用一些旧的类 这些类不适用于我的情况 从文件 gt 新项目 gt 我使用了选项Google Maps Act
  • 如何调试“com.android.okhttp”

    在android kitkat中 URLConnection的实现已经被OkHttp取代 如何调试呢 OkHttp 位于此目录中 external okhttp android main java com squareup okhttp 当
  • Android studio - 如何保存先前活动中选择的数据

    这是我的代码片段 这Textview充当按钮并具有Onclicklistner在他们 当cpu1000时Textview单击它会导致cpu g1000其代码如下所示的类 public class Game 1000 extends AppC
  • Monodroid 示例/带有源代码的小部件

    我是一名 NET 开发人员 我对用 C 开发 Android 应用程序感兴趣 并且我得到了 monodroid 是否有任何来源可以让我获得 monodroid 示例应用程序 带有源代码 这将帮助我在 monodroid 中开发应用程序 或者
  • 将 android 蓝牙客户端套接字连接到 ubuntu 服务器套接字时出现问题

    我正在编写一个 Android 应用程序 它应该通过蓝牙与服务器交换数据 服务器端位于运行 Ubuntu 的 PC 上 使用 bluez 库 用 C 或 C 编写 当我尝试连接到 PC 上的服务器套接字时 我的 Android 应用程序失败
  • 警报对话框中的 Webview 不显示内容

    我正在开发一个 Android 应用程序 我需要在网络视图和警报对话框上显示一个网站 该站点显示在网络视图中 但不显示在警报对话框中 到目前为止 这是我的代码 WebView WebView myWebView WebView v find
  • 表面视图+gl表面视图+框架布局

    我是 java 和 OpenGL 的新手 我正在尝试获得一个相机预览屏幕 能够 同时显示 3D 对象 浏览完样本后 api 演示 我想结合示例的代码 api 演示就足够了 但不知何故它不起作用 迫使我 启动时关闭 错误被称为空指针 例外 有
  • Android应用主题更换流畅

    我正在开发一个提供白天和夜间主题的项目 我正在更改主题 夜间主题 AppCompatDelegate setDefaultNightMode AppCompatDelegate MODE NIGHT YES 日主题 AppCompatDel
  • 为什么 Google 建议将库复制到您的树中?

    谷歌的Play 服务 API 的使用说明 http developer android com google play services setup html 例如 说 将 extras google google play service
  • Android Studio代理设置构建错误

    每当我尝试在 Android Studio 中构建应用程序时 都会收到以下错误 Error 169 254 16 169 254 16 Will ignore proxy settings for these hosts 我收到错误 5 次
  • 找不到数据库路径是不可能的

    我对 android 开发很陌生 现在我正在尝试通过扩展 SQLiteOpenHelper 的类创建数据库 我确信数据存储在我的 Nexus 7 我用来测试应用程序的设备 上的某个位置 但是我找不到数据库的路径 我四处寻找其他类似的问题 所
  • 在android中从SD卡上传图像到facebook

    我无法从 SD 卡上传 Facebook 上的图像 我使用了下面的代码 但它没有给我错误 但同时它没有上传图像 byte data null try FileInputStream fis new FileInputStream filep
  • React Native HTTPS Api 调用在 IOS 中有效,但在 Android 中无效

    所以基本上我所做的就是简单地对启用了 HTTPS 的 UAT 服务器进行简单的 Axios 调用 我已经在 IOS 中测试了整个应用程序 API 调用工作正常 但一旦我在 Android 中测试了相同的应用程序 在真正的 Android 设
  • Android S8+ 警告消息“不支持当前的显示尺寸设置,可能会出现意外行为”

    我在 Samsung S8 Android 7 中收到此警告消息 APP NAME 不支持当前的显示尺寸设置 可能会 行为出乎意料 它意味着什么以及如何删除它 谢谢 通过添加解决supports screens 机器人 xlargeScre
  • View.post(),以及当Runnables被执行时

    我最初的问题是需要知道我的根的高度和宽度View这样我就可以进行程序化的布局更改 就我的目的而言 我不一定需要在onCreate 对于我来说 以编程方式添加我的孩子就足够了View根布局完成后 因此我很乐意使用onWindowFocusCh

随机推荐

  • vscode - 将一个分支合并到另一个分支

    是否可以使用 vscode 界面而不是终端将一个分支合并到另一个分支 或者是否有任何扩展可以实现这一点 使用 vscode v1 13 0提前致谢 我创建了一个扩展 其名称如下 git合并 https marketplace visuals
  • 在 OpenShift(红帽云)上每 5 分钟运行一次 CRON 作业

    我试图每 5 分钟运行一次这个脚本 在 OpenShift 上运行 CRON 作业的唯一方法似乎是使用他们的 CRON 插件 而且CRON插件只允许每分钟 每小时和每天的脚本 通过将脚本放在相应的文件夹中 我尝试每 5 分钟运行一次此脚本
  • UINT_MAX 是否将所有位设置为 1?

    这个问题以前被问过 但我仍然很困惑 我知道 unsigned int a 1 将会UINT MAX 但这并不是因为所有 1 位都已设置 C11 说 如果新类型是无符号的 则通过重复添加或来转换该值 比新类型可以表示的最大值减一 直到该值在新
  • 向每个处理程序添加响应标头,而不重复同一行

    我正在编写一个小型网站 对于每个页面 我都将服务器名称添加到其标题中 func httpSignUp rw http ResponseWriter req http Request rw Header Set Server SERVER N
  • 如何使用自定义形状的 fab 按钮制作 Bottombar?

    我想制作一个带有附加 fab 按钮的底栏 如下图所示 如果有人知道那种带有 fab 底部的不同形状按钮库 请向我推荐 下面给出的图像用这样的 fab 制作了一个底栏 这只是一个可以改进代码的想法 您可以更改形状FloatingActionB
  • 如何有条件地从 .NET 集合中删除项目

    我正在尝试在 NET 中编写一个扩展方法 它将对通用集合进行操作 并从集合中删除与给定条件匹配的所有项目 这是我的第一次尝试 public static void RemoveWhere
  • 如何用 C 语言为 PIC24 编写与硬件无关的函数

    我正在编写一些实现各种功能的代码 例如 PID 控制器 信号发生器等 我的硬件提供各种输入和输出 刚才我有大量 SWITCH 语句来确定计算的源和目的地 例如 对于 PID 控制器 每 100ms 有一个开关命令 决定将哪个输入传递给 pi
  • 如何通过 PHP 发布到 Google Plus? [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我想知道是否已经有一个浮动的非官方 PHP 库或类 我可以使用它来发布到用户的 Google Plus
  • 如果不存在则删除表空间

    我已经编写了 pl sql 脚本 可以工作 但看起来不太好 DECLARE v exists NUMBER BEGIN SELECT count INTO v exists FROM dba tablespaces WHERE tables
  • 将结果集从 SQL 数组转换为字符串数组

    我正在查询information schema columns我的 PostgreSQL 数据库中的表 使用表名 结果集查找所有列名 类型以及是否可为空 主键 id 除外 这是正在使用的查询 SELECT column name is nu
  • C# Lambda 表达式:为什么应该使用它们?

    我很快读完了微软 Lambda 表达式 http msdn microsoft com en us library bb397687 aspx文档 不过 这种例子帮助我更好地理解 delegate int del int i del myD
  • Isabelle 返回数字而不是 Suc(Suc( ... 0 ))

    当我使用value为了找出返回自然数的函数的某个值 我总是以 0 的迭代后继函数的形式获得答案 即Suc Suc 0 有时可能很难阅读 有没有办法直接输出Isabelle返回的数字 这是我不久前想修复的问题 但显然我忘记了 卡西吉奈特的猜测
  • 如何从 C# 获取进程窗口类名?

    如何获取某个进程的窗口类名 我想在c 中实现这一点 我已经尝试过 c 中的进程类 但我只能获取进程的窗口名称 Thanks 我假设你的意思是你想获得的类名主窗口一个过程的 为此 您需要使用以下命令获取主窗口的句柄MainWindowHand
  • C中的函数调用[重复]

    这个问题在这里已经有答案了 可能的重复 为什么 gcc 允许将参数传递给定义为不带参数的函数 https stackoverflow com questions 12643202 why does gcc allow arguments t
  • SLURM:如何在同一计算节点或不同节点上并行运行不同的可执行文件?

    Goal 了解如何通过 sbatch 作业提交来运行 共同调度或执行可执行文件 应用程序 使用 srun 或 mpirun 研究 代码片段 bin bash SBATCH job name LEBT SBATCH partition ang
  • Office 脚本(Excel 网页版)获取错误

    我正在尝试从 Web 上的 Excel 调用外部 API 但是 我一直试图从 fetch 调用中获取结果 我什至使用 Office 文档示例来确保 在 Excel 中 单击自动化以创建新脚本 async function main work
  • 按具有不同Where条件的两个字段对数据表进行分组和求和

    我有一个包含示例数据的数据表 如下所示 UserName IsBillable Hours user1 Yes 10 user2 Yes 15 user3 No 20 user1 Yes 25 user1 No 15 user2 Yes 1
  • 如何在不改变纵横比的情况下适应QGraphicsView/QGraphicsScene中的像素图查看

    我正在使用 QGraphicsView QGraphicsScene 来显示图像 图像始终以其原始大小显示 并在末端带有滚动条 我希望 QGraphicsView 根据窗口的大小自动适应图像 保持纵横比 我尝试了这个 但什么也没发生 ui
  • PHP 表单令牌的使用和处理

    我是一个用 PHP 编写登录脚本的初学者 这是我到目前为止所拥有的表单令牌声明 SESSION form token md5 rand time true 该语句是在用户表示他 她想要登录后立即发出的 我有限的理解是 令牌的目的是在唯一的时
  • 取消的 AsyncTask 挂起新的 HttpRequest

    我遇到了 asynctasks 和 http 请求的问题 用户可以按下两个不同的按钮 这两个按钮都从网络服务器下载信息 我希望这些请求可以取消 每次调用之前都会显示一个进度对话框 http请求是在异步任务中执行的 并且我在进度对话框上有一个