当一个服务被杀死时,如何自动重启它?
有时甚至没有打电话onDestroy()
我继承了一个 IntentService,所以我必须要温柔。当我覆盖 onStartCommand() 但它对我有用
public int onStartCommand(Intent intent, int flags, int startId) {
super.onStartCommand(intent, flags, startId);
return START_STICKY;
}
也就是说,让父母做它应该做的并返回START_STICKY。
覆盖onStartCommand()
并给出START_STICKY
或START_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
如果您的服务被终止,系统将稍后尝试重新启动它。阅读更多。