在robospice中暂停后台进程

是否有可能暂停当前正在运行的后台服务,并从停止执行的点开始重新运行它?

如果不是,至less可以发送一个信号来停止执行SpiceService,然后才能执行它?

Solutions Collecting From Web of "在robospice中暂停后台进程"

我不是一个Robospice /翻新专家。 但是,这是关于http连接的一个普遍问题。

为了实现这一点,你需要编写一个低级代码连接到服务器。 打开一个stream的服务。 这样你可以检查stream是否仍然打开。 如果是,则将新数据添加到您的stream已经从中获取数据以发送到服务的数组。

既然你正在使用这个库。 这不适用。 你唯一的解决办法是取消/停止连接,并build立一个新的。

这应该很容易:

if( spiceManager.isStarted() ) spiceManager.cancel(String.class, MY_REQUEST_CACHE_KEY); 

然后,开始一个新的。

注意:有可能在检查spiceManager是否开始真实。 并在取消之前spiceManager连接完成。 在这种情况下,您应该考虑不要再提交已经提交的信息。 那将是一种浪费。 这取决于你的实现。 你可能不需要为此做额外的工作。

你可以尝试使用'wait()'这是一个Object的方法。它可以暂停当前的线程,直到你使用'notify()'或'notifyAll()'与其他线程中的同一个对象。