我有一个访问服务器的应用程序。当我退出应用程序时,我必须先断开与服务器的连接,然后关闭应用程序。
我想知道即使应用程序已关闭(并且Robospice服务仍在运行以完成的话),是否可能(以及如何)使Robospice服务(后台任务)与服务器断开连接deconnection,然后自动杀死自己。)
问题在于断开连接太长(有时超过5次)并且我想避免在断开连接期间阻止手机,并允许用户使用它的手机。
另一个问题:Robospice图书馆将来会得到维护和改进吗(如有必要)?
答案 0 :(得分:0)
是的,RoboSpice在附加到服务上下文时也能正常工作,因为它与Activity 1一起使用。
但您可能应该尝试在实现的com.octo.android.robospice.SpiceService#onDestroy
方法中执行disconnect。只要没有任何有意义的工作要做,这项服务就会停止,所以我想这对你的用例来说是最合适的解决方案。
答案 1 :(得分:0)
通过 finish()
结束我的应用程序,我已经解决了我的问题(这可能不是真正的问题!)在我的MainActivity中,我使用了一个Robospice服务:
public class Logout extends OkHttpSpiceRequest<String> {
private String url_logout;
public Logout(String url) {
super(String.class);
this.url_logout = url;
}
@Override
public String loadDataFromNetwork() throws Exception {
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url(url_logout)
.build();
Response response = client.newCall(request).execute();
return "ok";
}
}
和Lougout课程:
tableView:willDisplayCell:forRowAtIndexPath:
在我使用 onRequestSuccess 中的 System.exit(0)关闭应用之前,我必须等待Logout完成。现在应用程序关闭(完成()),但Logout在后台继续,然后,完成后,服务完成...