2

我已经阅读了很多关于Serviceand的资源IntentService。但是,在做出决定时,我没有足够的信心选择使用哪种类型来创建一个后台服务,该服务将在一段时间内从数据库中轮询数据,并在我得到我想要的数据时停止它,因为数据代表请求的状态,例如。订购药品确认状态(待定、已完成、进行中)。我需要检测状态何时设置为“已完成”并发送通知以提醒用户订单已完成。之后,该服务将自动停止。请多多指教。谢谢你。

4

2 回答 2

0

意向服务——

  • 在工作线程中工作,而不是在主线程中。

  • 打算执行它们的操作是单独的线程,然后被关闭。

  • 他们确实执行他们的操作并停止。

  • 非常适合执行诸如 htp get 之类的操作,不需要与服务器保持连接。

服务 -

  • 在主线程中运行。

  • 理想的情况是需要与服务器保持连接(即永久 tcp 连接),您可以采用的方式是拥有一个服务(不是意图服务),该服务使用 asynctask 或更经典的线程在服务中托管

于 2013-01-22T05:22:06.487 回答
0

没什么区别。使用任何你觉得更容易的东西。这个问题不值得花任何时间担心。只需确保您了解哪些代码需要在主(UI)线程上运行以及哪些代码需要在后台(工作)线程上运行。在IntentService“长时间运行的操作”需要运行的情况下,onHandleIntent()如果您使用的是Servicein,onStartCommand()您将启动自己的后台线程并对其执行“长时间运行的操作”。

于 2016-12-25T10:29:23.730 回答