如何在Android应用程序被杀之前执行代码

时间:2016-06-03 13:31:59

标签: android android-lifecycle

我有一个Android应用程序连接到周围的设备当前运行相同的应用程序即使在后台运行

为此,我使用WiF-Direct宣传我目前正在运行该应用程序的事实。

因此,我需要在应用程序被杀后立即停止广告宣传。

  • onDestroy()无法使用,因为无法保证被调用。
  • 由于应用仍在运行,因此无法使用
  • onStop()onPause()

我怎样才能做到这一点?

目前,即使应用程序被关闭/终止,该服务仍在广告中。

2 个答案:

答案 0 :(得分:4)

您应该可以使用服务执行此操作。

启动应用时启动服务。 覆盖onTaskRemoved方法

@Override
public void onTaskRemoved(Intent rootIntent)
{
}

在这种方法中做你需要做的事情。 更详细的答案可以在这里找到:How to know when my app has been killed?(2回答)

答案 1 :(得分:0)

最好的实现可能是运行另一个服务,查询您的应用程序是在前台(即运行)

您可以运行查询以定期每隔60秒检查一次。然后,如果应用程序没有运行。您可以停止WiFi Direct服务,然后停止自我。