如何在启动和后台创建 运行 的服务

how to create service that run on startup and on the background

我想创建一个应用程序,它会在设备启动时启动,并且 运行 在后台运行,直到设备关闭。

我知道有 'services' 和 'IntentService' 以及如何处理它们。

但我无法理解 中的哪些会满足我的需要。

我要创建的服务将 运行 在没有 UI 的主线程上(如 'service' )并执行一些操作,但这将是长期服务和据我所知..要使用长途服务最好使用 'IntentService'

所以,请帮忙...怎么做?
以及我如何在启动时启动我的服务?

IntentService 是这种情况的最佳选择:

  • 请求可以一一处理。
  • NotificationManager 可以满足您通知​​用户发生某些事情的要求。

这种情况下,你只需要调用startService启动服务,重写onHandleIntent方法,它就会为你做后台工作。

Service 应在以下情况下使用:

  • 需要同时处理多个请求。或
  • 组件(activity 或片段)需要与服务交互。例如,调用服务API,监听服务回调。这种情况下您应该创建一个绑定服务。

由于您的服务需要在主线程上 运行 而没有 UI,因此您应该使用 Service 并覆盖 onStartCommand 来处理请求。

参考API Guides Services.