关于android:通过刷卡杀死App时的回调

Callback when App is killed by swiping

我有一个涉及导航的应用程序。
如果用户启动导航,则会创建一种"navigationLifecycleManager"。它存储在应用程序实例中,以便在配置更改,活动等之间切换时幸免于难。

但是,如果用户"退出"应用程序,我想杀死一些后台线程,将一些次要数据存储到应用程序存储中,依此类推。所以我需要一些钩子告诉我应用程序何时退出。

  • 导航应该在任何活动生命周期中存活(这就是为什么它仍然在应用程序实例中)
  • 按下主页按钮后导航应该存在。
  • 通过按"后退",导航不应该在应用程序结束时继续存在。
  • 通过将其从"最近的应用程序"列表中滑出来导航时,导航不应该存在。
  • 必须通过覆盖"onPause"并检查"isFinishing"来实现。但这并不能解决最近的应用程序列表中的问题。滑动似乎没有任何东西。在活动/应用程序中不调用"onPause","onDestroy"或"onTerminate"。


    您无法处理滑动,因为系统只是从内存中删除您的进程而不调用任何回调。

    我已经检查过,在用户调用"最近的应用程序"屏幕之前,将始终调用onPause()。 因此,您需要在onPause方法中保存所有数据而不检查isFinishing()

    要检查后退按钮,请使用onBackPressed方法。