为什么手机关机时不调用服务的 onDestroy 方法?

Why onDestroy method of a Service Not Calling when mobile switch off?

我的要求是向具有移动开关 on/off 状态的服务器发送请求并更新 mongodb 数据库移动开关 on/off 状态。 为此,我使用了 Service。在我的 Service onCreate 方法中,我添加了代码以发送带有打开状态和更新数据库的请求。它工作正常。我需要在手机关闭时发送关闭状态,并且我添加到 Service onDestroy 方法的代码部分。但它不起作用,至少 Service onDestroy 方法在手机关机时不会调用。

任何人都可以给我解决方案吗?如何在手机关闭时从 Service 发送请求?

Android 没有义务在关闭系统时经历整个应用程序生命周期。就像它不会在应用程序崩溃时调用 onDestroy

您通常可以解决此问题的一种方法是让应用程序定期报告,而不是依赖应用程序明确报告 alive/dead。然后,如果应用程序不报告为某个时期。