我已经阅读了很多关于Service
and的资源IntentService
。但是,在做出决定时,我没有足够的信心选择使用哪种类型来创建一个后台服务,该服务将在一段时间内从数据库中轮询数据,并在我得到我想要的数据时停止它,因为数据代表请求的状态,例如。订购药品确认状态(待定、已完成、进行中)。我需要检测状态何时设置为“已完成”并发送通知以提醒用户订单已完成。之后,该服务将自动停止。请多多指教。谢谢你。
问问题
420 次
2 回答
0
意向服务——
在工作线程中工作,而不是在主线程中。
打算执行它们的操作是单独的线程,然后被关闭。
他们确实执行他们的操作并停止。
非常适合执行诸如 htp get 之类的操作,不需要与服务器保持连接。
服务 -
在主线程中运行。
理想的情况是需要与服务器保持连接(即永久 tcp 连接),您可以采用的方式是拥有一个服务(不是意图服务),该服务使用 asynctask 或更经典的线程在服务中托管
于 2013-01-22T05:22:06.487 回答
0
没什么区别。使用任何你觉得更容易的东西。这个问题不值得花任何时间担心。只需确保您了解哪些代码需要在主(UI)线程上运行以及哪些代码需要在后台(工作)线程上运行。在IntentService
“长时间运行的操作”需要运行的情况下,onHandleIntent()
如果您使用的是Service
in,onStartCommand()
您将启动自己的后台线程并对其执行“长时间运行的操作”。
于 2016-12-25T10:29:23.730 回答