首页 > 解决方案 > 应用程序强制关闭时的Android捕获事件

问题描述

当android应用程序被用户强行关闭时,我想将用户注销时间存储在数据库中(用于维护用户分析)。是否可以在 MainActivity 中捕获事件?

有人可以提出更好的方法来实现这一目标吗?

标签: android

解决方案


没有可靠的方法来检测此事件-通知应用程序它将被杀死以允许此时执行某些代码(如您的情况-数据库处理)是一种不安全的方法。用户显然想停止这个应用程序,当它有可能在被杀死之前执行一些代码时,它可能会留下一些警报现在 + 10 秒AlarmManager以重新启动一些后台服务。这与用户想要的相反

你能做的最好的就是在 lastActivity被销毁(onDestroy调用)时收听,但这可能在多种情况下发生,没有任何用户强制停止应用程序。使用一些static int++何时Activity创建,--何时销毁或使用Application.ActivityLifecycleCallbacks从不 API


推荐阅读