Android启动服务或绑定服务

时间:2014-03-31 09:56:25

标签: android service

我正在尝试决定是否应该在Android中绑定或启动服务。

基本上我已经实现了我的应用程序使用的用户跟踪服务。

从文档中我了解到,绑定服务就是希望其他应用程序与您的服务进行通信。启动服务是指您只有专门为应用程序提供的服务。

但是,即使应用程序不在运行的应用程序列表中(即Android设备上第三个按钮上的列表),我也希望能够保持服务正常运行。

绑定服务会比启动它更好吗?

2 个答案:

答案 0 :(得分:2)

一旦所有客户解除绑定,绑定服务就会被销毁。绑定服务提供了一个客户端 - 服务器接口,允许组件与服务交互,发送请求,获取结果,甚至跨进程间通信(IPC)进行交互。

启动服务可以无限期运行。通常,启动的服务执行单个操作,并且不会将结果返回给调用者。

由于您希望继续运行服务而不管应用程序是否正在运行,因此启动服务是可行的方法。

答案 1 :(得分:1)

据我所知,你应该做的是以下几点:

  • 首次打开应用程序时,您应该启动服务并让它在后台运行并从onStartCommand()返回START_STICKY,这样即使您的应用程序不是,服务也会按照您的意愿运行,直到你明确地调用stopService()。

  • 每当您在服务运行时打开应用程序时,如果要显示其中的数据,则应绑定到您的服务。