Android服务未在关机时销毁

Android服务未在关机时销毁,android,service,shutdown,Android,Service,Shutdown,我正在运行一个Android服务,它是在启动完成后启动的。然而,当我关机时,服务(以及所有连接到它的线程)似乎没有被破坏 我有一个在后台运行的套接字连接,它在关机时没有断开。此外,甚至没有调用service.ondestory() 这是正常的还是可能是因为我的另一个问题?您可以使用Receiver,它可以访问其他移动组件状态,例如internet连接状态,GPS状态,一旦手机启动,它将启动您的服务。您可以使用Receiver,它可以访问其他移动组件状态,如internet连接状态、GPS状态,一

我正在运行一个Android服务,它是在启动完成后启动的。然而,当我关机时,服务(以及所有连接到它的线程)似乎没有被破坏

我有一个在后台运行的套接字连接,它在关机时没有断开。此外,甚至没有调用service.ondestory()


这是正常的还是可能是因为我的另一个问题?

您可以使用Receiver,它可以访问其他移动组件状态,例如internet连接状态,GPS状态,一旦手机启动,它将启动您的服务。

您可以使用Receiver,它可以访问其他移动组件状态,如internet连接状态、GPS状态,一旦手机启动,它将启动您的服务。

检查您设置为OnStart返回的标志命令:

开始有粘性

系统将在服务被终止后尝试重新创建服务

开始时不粘


系统将不会在服务终止后尝试重新创建服务

请检查您设置为从onStartCommand返回的标志:

开始有粘性

系统将在服务被终止后尝试重新创建服务

开始时不粘


手机关机后,系统不会尝试重新创建您的服务

这似乎是应该的,但如果手机电池耗尽,可能就没有机会了。请参阅,请准确解释“关机”的含义。通常,我会将其解释为“断电”,在这种情况下,您的套接字连接肯定不再运行,因为CPU、RAM、WiFi、蜂窝无线电和其他所有设备都将断电。就像Activity.onDestroy()一样,无法保证会调用Service.onDestroy(),因为整个应用程序进程可能会被终止。这可能就是当你关闭手机时发生的事情,所有的应用程序进程都会被简单地终止。@commonware所说的关机,我指的是关机。我会设法找到另一种方法来解决这个问题。看起来确实应该这样,不过如果手机的电池用完了,可能就没有机会了。请参阅,请准确解释“关机”的含义。通常,我会将其解释为“断电”,在这种情况下,您的套接字连接肯定不再运行,因为CPU、RAM、WiFi、蜂窝无线电和其他所有设备都将断电。就像Activity.onDestroy()一样,无法保证会调用Service.onDestroy(),因为整个应用程序进程可能会被终止。这可能就是当你关闭手机时发生的事情,所有的应用程序进程都会被简单地终止。@commonware所说的关机,我指的是关机。我将设法找到另一种解决办法。