我使用了RoboSpice库来执行异步任务。从他们的示例中可以看到,spice服务在BaseActivity中声明,在活动的onStart方法中启动,在活动的onStop方法中停止。一切都很好,但是当我想要从互联网下载文件,然后切换到另一个活动时,这个下载任务被取消了,因为spice服务已经停止了。情况就像这样:
public abstract class BaseActivity{
/** The request manager. */
private SpiceManager requestManager = new SpiceManager(RequestService.class);
@Override
protected void onStart() {
requestManager.start(this);
super.onStart();
}
@Override
protected void onStop() {
requestManager.shouldStop();
super.onStop();
}
}
我想知道是否有安全的方法可以让Spice服务继续运行下载任务(此任务不涉及UI),而其他任务正常工作(也就是说,当停止活动时可以取消它们),但它仍然可以尊重活动生命周期。
addListenerIfPending
现在对我来说似乎不起作用。 - ductran