绑定服务和前台服务有什么区别?

时间:2017-10-27 08:52:50

标签: java android service difference foreground

我正在尝试创建一个可以在应用程序打开时与AppUI交互的服务,并在App关闭时继续工作。

我听说bindService()调用创建了一个可以与App通信的绑定服务。同时,有些资源表示startService()可以通过调用startForeground()回调中的onStartCommand()进一步成为前台服务,然后使用它们与App进行通信。

任何人都可以提供最好的方式来实现我的需求和它之间的区别吗?

1 个答案:

答案 0 :(得分:2)

来自官方文档:https://developer.android.com/guide/components/services.html

<强>结合

  

当应用程序组件绑定到服务时绑定服务   调用bindService()。绑定服务提供客户端 - 服务器   允许组件与服务交互的接口,发送   请求,接收结果,甚至跨进程使用   进程间通信(IPC)。绑定服务只运行   另一个应用程序组件绑定到它。多个组件可以   立即绑定到服务,但当所有这些服务解除绑定时,服务   被毁了。

<强>前景

  

前台服务执行一些明显的操作   用户。例如,音频应用程序将使用前台服务进行播放   音轨。前台服务必须显示状态栏图标。   即使用户没有,前台服务也会继续运行   与应用互动

看起来你应该使用Foreground Service。