How to restart a killed service automatically?

后端 未结 3 579
死守一世寂寞
死守一世寂寞 2020-12-18 03:13

When a service has been killed, how to restart it automatically?

sometimes without even calling onDestroy()

相关标签:
3条回答
  • 2020-12-18 04:02

    Overrides the onStartCommand() and give START_STICKY or START_REDELIVER_INTENT (depends on your needs) as the return value. The system will then make sure to restart your service until you explicitly stop the service.

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

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

    0 讨论(0)
  • 2020-12-18 04:07

    If you have your service killed, the system will try to restart it later. Read more.

    0 讨论(0)
  • 2020-12-18 04:09

    I inherited an IntentService, so I had to be gentle. It worked for me when I overrode onStartCommand() but

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

    That is, let the parent do what it should and return START_STICKY.

    0 讨论(0)
提交回复
热议问题