我正在尝试决定是否应该在Android中绑定或启动服务。
基本上我已经实现了我的应用程序使用的用户跟踪服务。
从文档中我了解到,绑定服务就是希望其他应用程序与您的服务进行通信。启动服务是指您只有专门为应用程序提供的服务。
但是,即使应用程序不在运行的应用程序列表中(即Android设备上第三个按钮上的列表),我也希望能够保持服务正常运行。
绑定服务会比启动它更好吗?
答案 0 :(得分:2)
一旦所有客户解除绑定,绑定服务就会被销毁。绑定服务提供了一个客户端 - 服务器接口,允许组件与服务交互,发送请求,获取结果,甚至跨进程间通信(IPC)进行交互。
启动服务可以无限期运行。通常,启动的服务执行单个操作,并且不会将结果返回给调用者。
由于您希望继续运行服务而不管应用程序是否正在运行,因此启动服务是可行的方法。
答案 1 :(得分:1)
据我所知,你应该做的是以下几点:
首次打开应用程序时,您应该启动服务并让它在后台运行并从onStartCommand()返回START_STICKY,这样即使您的应用程序不是,服务也会按照您的意愿运行,直到你明确地调用stopService()。
每当您在服务运行时打开应用程序时,如果要显示其中的数据,则应绑定到您的服务。