如何自动重新启动一个杀死的服务?

当一个服务已经死亡,如何自动重新启动?

有时甚至没有调用onDestroy()

  • Android应用程序在死亡时不会调用“onDestroy()”(ICS)
  • 什么是onDestroy()销毁?
  • Android在方向更改时保存状态
  • 每次屏幕亮起时都会调用onDestroy
  • 如何使通知恢复并不重新创build活动?
  • Activity OnDestroy从未调用过?
  • 在Activity被杀死并重新创建后,片段仍然存在
  • 如何区分是否将onDestroy()作为配置更改序列的一部分进行调用?
  • 我inheritance了一个IntentService,所以我必须要温柔。 当我覆盖onStartCommand(),但它为我工作

     public int onStartCommand(Intent intent, int flags, int startId) { super.onStartCommand(intent, flags, startId); return START_STICKY; } 

    也就是说, 让家长做它应该返回的START_STICKY。

    覆盖onStartCommand()并将START_STICKYSTART_REDELIVER_INTENT (取决于您的需要)作为返回值。 系统将确保重新启动您的服务,直到您明确停止服务。

    http://developer.android.com/reference/android/app/Service.html#START_REDELIVER_INTENT

    http://developer.android.com/reference/android/app/Service.html#START_STICKY

    如果您的服务中断,系统将尝试稍后重新启动。 阅读更多 。