android程序退出时回调,关于android:通过刷卡杀死App时的回调

我有一个涉及导航的应用程序。

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

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

导航应该在任何活动生命周期中存活(这就是为什么它仍然在应用程序实例中)

按下主页按钮后导航应该存在。

通过按"后退",导航不应该在应用程序结束时继续存在。

通过将其从"最近的应用程序"列表中滑出来导航时,导航不应该存在。

必须通过覆盖"onPause"并检查"isFinishing"来实现。但这并不能解决最近的应用程序列表中的问题。滑动似乎没有任何东西。在活动/应用程序中不调用"onPause","onDestroy"或"onTerminate"。

我们能抓住SIGKILL吗? 或者,当我们的应用程序在Windows上被任务管理器杀死时,我们可以"了解"吗?

我猜你的评论是修辞,并得出结论,我们没有得到这种信息。 您是否知道Android在刷掉应用程序时是如何结束应用程序的? 我还想知道其他人如何处理这件事。 必须有很多人有类似的问题。

我们可以使用service的onTaskRemoved()方法来检测滑动。

@YogeshSeralia你的ans是对的。 这是了解何时被杀的唯一方法。 我投了票。

可能重复的如何通过在Android中刷卡杀死应用程序时处理代码?

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

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值