java在服务中启动可取消的后台任务
我想开始一个后台任务,可能是Handler
或Asynctask
内部的IntentService
。但我也需要它是cancellable
在这个后台任务中,我想启动一个计时器,30秒后我想执行一个服务器调用。但是,如果用户按下DialogFragment
中的按钮,我也希望能够取消服务器调用
启动Post Delayed Handler
能实现这一点吗?如果是这样,我如何从我的Activity
访问所说的Handler
你可以在下面搜索框中键入要查询的问题!
我想开始一个后台任务,可能是Handler
或Asynctask
内部的IntentService
。但我也需要它是cancellable
在这个后台任务中,我想启动一个计时器,30秒后我想执行一个服务器调用。但是,如果用户按下DialogFragment
中的按钮,我也希望能够取消服务器调用
启动Post Delayed Handler
能实现这一点吗?如果是这样,我如何从我的Activity
访问所说的Handler
# 1 楼答案
首先看一看
正如您将读到的,您不能停止IntentService中运行的任务
我建议使用处理程序启动或不启动服务。例如,假设您有按钮A和按钮B。当你点击按钮A时,应用程序会在30秒后运行任务,但同时如果你按下按钮B,服务将不会启动。
当按下按钮A时,您可以向处理程序发送延迟消息(延迟30秒),如果按下按钮b,您可以将一个局部变量设置为false,当处理程序最终收到此消息时,您可以检查该变量以查看是否运行服务