IntentSevice工作队列处理

时间:2013-08-09 16:59:03

标签: android xamarin.android xamarin

我正在编写一个Xamarin for Android应用程序,我有一种情况需要从我的应用程序向Web服务发送一些信息以进行保存。我仍然是Android框架的新手,但似乎IntentService是一个合理的选择,所以我可以从我的主线程卸载该工作。

但是,我对IntentService如何管理发送给它的请求的工作队列有点模糊。具体来说,当处理过程中出现故障时,工作队列请求服务会发生什么?例如,在我的情况下,假设没有可用的WiFi / 3G连接,Web服务器不可用等等。我是否需要捕获这些问题并再次将它们重新提交给服务,或者是否有办法在服务内部处理它们?

通过阅读Android服务文档(http://developer.android.com/guide/components/services.html)后,似乎请求被接收并丢弃;如果发生某些事情,开发人员手动重新添加到队列中,我没有看到任何关于将请求保留在队列中的提及等。

我错过了什么吗?或者我应该滚动自己的Service类来处理这些问题?任何想法将不胜感激。感谢。

1 个答案:

答案 0 :(得分:1)

意图服务只会在onHandleIntent(Intent intent)方法中执行您要求它执行的操作。没有出现错误处理,因为IntentService的所有实现都不会执行网络请求或任何特定任务。唯一的保证是onHandleIntent()中的代码将位于工作线程中。