有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在服务中启动可取消的后台任务

我想开始一个后台任务,可能是HandlerAsynctask内部的IntentService。但我也需要它是cancellable

在这个后台任务中,我想启动一个计时器,30秒后我想执行一个服务器调用。但是,如果用户按下DialogFragment中的按钮,我也希望能够取消服务器调用

启动Post Delayed Handler能实现这一点吗?如果是这样,我如何从我的Activity访问所说的Handler


共 (1) 个答案

  1. # 1 楼答案

    首先看一看
    正如您将读到的,您不能停止IntentService中运行的任务



    我建议使用处理程序启动或不启动服务。例如,假设您有按钮A按钮B。当你点击按钮A时,应用程序会在30秒后运行任务,但同时如果你按下按钮B,服务将不会启动。
    当按下按钮A时,您可以向处理程序发送延迟消息(延迟30秒),如果按下按钮b,您可以将一个局部变量设置为false,当处理程序最终收到此消息时,您可以检查该变量以查看是否运行服务