Android 如何自动重新启动已终止的服务?

Android 如何自动重新启动已终止的服务?,android,service,ondestroy,Android,Service,Ondestroy,当服务被终止时,如何自动重新启动它 有时甚至不调用onDestroy()也可以,如果您的服务被终止,系统将稍后尝试重新启动它。 读取。覆盖onStartCommand()并将START\u STICKY或START\u REDELIVER\u INTENT(取决于您的需要)作为返回值。然后,系统将确保重新启动服务,直到您明确停止服务 我继承了一项意向性服务,所以我必须温柔。 当我重写onStartCommand()时,它对我有效,但是 也就是说,让家长做它应该做的事情并返回START\u ST

当服务被终止时,如何自动重新启动它


有时甚至不调用onDestroy()

也可以,如果您的服务被终止,系统将稍后尝试重新启动它。
读取。

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


我继承了一项意向性服务,所以我必须温柔。 当我重写onStartCommand()时,它对我有效,但是


也就是说,让家长做它应该做的事情并返回START\u STICKY。

如果您的服务被终止,那是因为用户终止了它或者操作系统内存不足。这意味着您可能不应该重新启动它。你不应该离开像这样长时间运行的服务谢谢你的回复,但是有一些服务,当我杀死它们时,它们很快就会重新启动。我也在这样做。在Nexus5中工作良好。但在小米,当我的应用程序死机的时候,服务就死机了。在坏的情况下,你可以启动一个闹钟来确保你的服务是活的。注意不要太频繁地使用它,因为唤醒CPU会消耗电池寿命。你有没有一个应用程序可以恢复刷到关闭?我正在做的开始。在Nexus5中工作正常并重新启动服务。但在小米,我的应用程序一停止,服务就停止了。
public int onStartCommand(Intent intent, int flags, int startId) {
   super.onStartCommand(intent, flags, startId);
   return START_STICKY;
}