繁体   English   中英

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

[英]Starting a cancellable background task in a Service

我想启动一个后台任务,可能是Asynctask内的HandlerIntentService 但是我也需要它可以cancellable

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

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

首先在这里看看。
正如您将阅读的,您无法停止在IntentService中运行的任务。



我建议使用处理程序为服务加注星标或不加注星标。 例如,假设您有Button AButton B。 当您单击按钮A时,该应用会在30秒后运行任务,但与此同时,如果您按按钮B,则该服务将不会启动。
当按下按钮A时,您可以向处理程序发送延迟消息(延迟30秒);如果按下按钮b,则可以将本地变量设置为false;当处理程序最终接收到此消息时,您可以检查该变量以查看是否是否运行服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM