2015-04-03 116 views
0

我想在IntentService的内部启动后台任务,可能是HandlerAsynctask。但我也需要它是cancellable在服务中启动可取消的后台任务

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

会开始Post Delayed Handler达到这个目标吗?如果是这样,我如何从我的Activity访问Handler

回答

0

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



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