8

当一个服务被杀死时,如何自动重启它?

有时甚至没有打电话onDestroy()

4

3 回答 3

6

我继承了一个 IntentService,所以我必须要温柔。当我覆盖 onStartCommand() 但它对我有用

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

也就是说,让父母做它应该做的并返回START_STICKY。

于 2012-12-08T07:46:42.470 回答
3

覆盖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

于 2012-06-25T16:40:52.267 回答
0

如果您的服务被终止,系统将稍后尝试重新启动它。阅读更多

于 2011-01-12T10:04:03.760 回答