Android 如何检测我的应用程序在安卓系统中何时被强制关闭?

Android 如何检测我的应用程序在安卓系统中何时被强制关闭?,android,Android,如何检测我的应用程序何时强制关闭。我试过一些服务之类的方法,但效果不太好。即使应用程序在后台,服务也会自动关闭。有没有其他方法可以在不使用服务的情况下检测应用程序关闭 我尝试了下面的解决方案,但没有正常工作。 基本上,只有当我的应用程序被用户强制终止时,我才想注销。您可以使用该服务来执行此任务 首先创建一个服务类 通过添加扩展服务//公共类MyService扩展服务 然后在服务类中创建onDestroy @Override public void onDestroy() { super

如何检测我的应用程序何时强制关闭。我试过一些服务之类的方法,但效果不太好。即使应用程序在后台,服务也会自动关闭。有没有其他方法可以在不使用服务的情况下检测应用程序关闭

我尝试了下面的解决方案,但没有正常工作。


基本上,只有当我的应用程序被用户强制终止时,我才想注销。

您可以使用该服务来执行此任务

首先创建一个服务类

通过添加
扩展服务//公共类MyService扩展服务

然后在服务类中创建onDestroy

@Override
public void onDestroy() {
    super.onDestroy();
    Log.d(TAG, "onDestroy: called");
    //Your code 

}
在AndroidManifest.xml中定义服务

<service android:name=".MyService" android:enabled="true"
        android:exported="false" />

它会很好的工作。。。
我已经在使用它了。

在活动/片段生命周期的onDestroy()方法中处理应用程序。
为了注销,当应用程序被强制关闭时,请清除onDestroy()方法中的所有首选项。

相关:您可能需要描述您的用例并解释需要检测的原因。通常,除非在活动或服务中添加一些标志,否则无法检测强制停止。如果在下一次启动时没有调用,意味着它被强制停止。该服务在所有android版本中都能正常工作吗?因为我的检查服务并没有在pie中启动。我已经尝试了该服务,但它不能正常工作,因为当我的应用程序在后台运行时,该服务会自动关闭。当我的应用程序在后台运行时,我不想停止服务。不,即使在我尝试过的安卓Q中,它也能在每个版本中运行,而且运行正常。但在Api 26(Oreo)之后,您不能在后端运行许多消耗设备电池或内存的查询。正如我所说的,在很多情况下,这项服务都可以正常工作。@RajGohel,如果你的应用程序在后台时,服务会自动关闭。然后android操作系统将停止你的应用程序。您必须找出为什么bcz除了服务boardcast receiver、JobScheduler之外,他们无法执行该任务。该服务不是解决此问题的可靠解决方案@RajGohel您找到解决方案了吗?如果您强制关闭应用程序,则不会调用activity/fragment onDestroy()方法。