我正在尝试创建一个可以在应用程序打开时与AppUI交互的服务,并在App关闭时继续工作。
我听说bindService()
调用创建了一个可以与App通信的绑定服务。同时,有些资源表示startService()
可以通过调用startForeground()
回调中的onStartCommand()
进一步成为前台服务,然后使用它们与App进行通信。
任何人都可以提供最好的方式来实现我的需求和它之间的区别吗?
答案 0 :(得分:2)
来自官方文档:https://developer.android.com/guide/components/services.html
<强>结合强>
当应用程序组件绑定到服务时绑定服务 调用bindService()。绑定服务提供客户端 - 服务器 允许组件与服务交互的接口,发送 请求,接收结果,甚至跨进程使用 进程间通信(IPC)。绑定服务只运行 另一个应用程序组件绑定到它。多个组件可以 立即绑定到服务,但当所有这些服务解除绑定时,服务 被毁了。
<强>前景强>
前台服务执行一些明显的操作 用户。例如,音频应用程序将使用前台服务进行播放 音轨。前台服务必须显示状态栏图标。 即使用户没有,前台服务也会继续运行 与应用互动。
看起来你应该使用Foreground Service。