Android 检测应用是否已从最近的应用列表中关闭或被操作系统杀死
如果应用程序关闭,我需要执行一些API调用 如果应用程序从最近的应用程序列表中关闭或被android系统杀死,则不会触发Android 检测应用是否已从最近的应用列表中关闭或被操作系统杀死,android,android-activity,android-lifecycle,Android,Android Activity,Android Lifecycle,如果应用程序关闭,我需要执行一些API调用 如果应用程序从最近的应用程序列表中关闭或被android系统杀死,则不会触发onDestroy()和onStop()。但可能有解决办法吗 我试过, 当我尝试(在小米笔记7和Android 9上)时,它失败了,也没有调用它 从评论来看,所有人都同意在Android O中不再调用onTaskRemoved() 那么有谁能帮我找到一种解决方法,特别是在小米、oppo等方面?我想问题不在于当你从最近的列表中删除应用程序时,onTaskRemoved没有被调用。
onDestroy()
和onStop()
。但可能有解决办法吗
我试过,
当我尝试(在小米笔记7和Android 9上)时,它失败了,也没有调用它
从评论来看,所有人都同意在Android O中不再调用onTaskRemoved()
那么有谁能帮我找到一种解决方法,特别是在小米、oppo等方面?我想问题不在于当你从最近的列表中删除应用程序时,
onTaskRemoved
没有被调用。我会说,也许你启动的服务在该应用进入最近的应用列表之前就被终止了
我想,它试图描述前台服务被终止的问题
因此,如果将服务作为前台服务运行,则需要定期执行某些操作以保持服务的活动性。如果以前没有终止服务,我假设您应该能够调用onTaskRemoved
基于您的用例的建议:
如本回答的评论中所述,您希望在用户离开应用程序时从购物车中删除项目,以便其他用户可以订购
对我来说,这更像是一个设计问题,可以通过多种方式完成。我可以放弃一些建议,但是,我的建议可能不适合你的情况
在移动到定期任务之前,
onTaskRemoved
从未执行过,尽管服务已经启动。我的手机是小米注7。还有,这里必须有周期逻辑吗?我是否需要如果应用程序已经关闭不需要它运行很长时间你明白我的意思吗?我不确定你的意图,但是,我试图声明,你需要启动作为前台服务的服务,以便用户可以看到服务作为通知或什么运行,即使应用程序在后台。此外,前台服务必须执行一些周期性任务,以保持自身的活力。。保留添加到购物车的服务,如果用户取消预订,我会清除它,但是,如果他关闭了应用呢?我需要的是在应用程序关闭的情况下清除购物车项目。因此,如果你知道从购物车中移除物品的更好方法,请建议为其他用户发布服务。我已经更新了我的答案。请看一看。谢谢大家!@伊戈尔加纳波尔斯基:实际上我不确定。然而,我不建议你也这么做。我们可以使用JobScheduler
或android的前台服务定期检查应用程序是否停止。