[英]Starting a cancellable background task in a Service
我想启动一个后台任务,可能是Asynctask
内的Handler
或IntentService
。 但是我也需要它可以cancellable
。
在此后台任务中,我想启动一个计时器,并说30秒后,我想执行服务器调用。 但是,如果用户按下DialogFragment
的按钮,我也希望能够取消服务器调用。
启动Post Delayed Handler
实现这一目标吗? 如果是这样,我如何从我的Activity
访问所说的Handler
?
首先在这里看看。
正如您将阅读的,您无法停止在IntentService中运行的任务。
我建议使用处理程序为服务加注星标或不加注星标。 例如,假设您有Button A和Button B。 当您单击按钮A时,该应用会在30秒后运行任务,但与此同时,如果您按按钮B,则该服务将不会启动。
当按下按钮A时,您可以向处理程序发送延迟消息(延迟30秒);如果按下按钮b,则可以将本地变量设置为false;当处理程序最终接收到此消息时,您可以检查该变量以查看是否是否运行服务
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.