2017-05-26 52 views
1

我正在运行启动完成后启动的Android服务。但是,当我关闭手机时,服务(以及所有连接的线程)似乎不会被破坏。Android服务不会在关机时被破坏

我有一个Socket连接在后台运行,并且在关机时没有断开连接。而且,甚至没有调用service.onDestroy()。

这是正常的还是可能是由于我的另一个问题?

+0

看起来应该是这样,尽管如果手机用完电池可能没有机会。请参阅https://stackoverflow.com/questions/10448304/handling-phone-shutdown-event-in-android –

+1

请详细解释** **“关机”的含义。通常情况下,我会将其解释为“断电”,在这种情况下,您的套接字连接肯定不再运行,因为CPU,RAM,WiFi,蜂窝无线电和其他所有设备都无法供电。 – CommonsWare

+0

就像Activity.onDestroy()一样,不能保证将调用Service.onDestroy(),因为整个应用程序进程可能会被终止。这可能是关闭手机时发生的情况,所有应用程序进程都会被终止。 – BladeCoder

回答

0

您可以使用Reciever,它可以访问其他移动组件状态,例如互联网连接状态,GPS状态,只要移动启动它将启动您的服务simple example