在robospice中暂停后台进程

qwe*_*rty 9 android asynchronous robospice retrofit

是否可以暂停当前正在运行的后台服务并从其执行停止点开始再次运行它?

如果没有,是否至少可以在完成执行之前发送信号以停止执行SpiceService?

has*_*san 4

我不是 Robospice/Retrofit 专家。但是,这是关于 http 连接的一般问题。

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

既然你正在使用这个库。这不适用。您唯一的解决方案是取消/停止连接并建立一个新连接。

这应该很容易:

if( spiceManager.isStarted() )
    spiceManager.cancel(String.class, MY_REQUEST_CACHE_KEY);
Run Code Online (Sandbox Code Playgroud)

然后,然后开始一个新的。

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