Android Start Service or Bind Service



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

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

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

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

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

绑定服务将在所有客户端解除绑定后销毁。绑定服务提供客户端-服务器接口,该接口允许组件与服务交互、发送请求、获取结果,甚至通过进程间通信 (IPC) 跨进程执行此操作。

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

由于无论应用程序是否正在运行,您都希望继续运行服务,因此启动服务是要走的路。

据我了解,您应该做的是:

  • 第一次打开应用程序时,您应该启动服务并让它在后台完成工作并从 onStartCommand() 返回START_STICKY,这样即使您的应用程序不是,服务也会按您想要的方式运行,直到您显式调用 stopService()。

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

最新更新