应用程序强制关闭时的Android捕获事件



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

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

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

您能做的最好的事情是在最后一个Activity被销毁时侦听(onDestroy调用(,但这种情况可能会在多种情况下发生,用户不会强制停止应用程序。创建Activity时使用一些static int++,销毁时使用--,或者在never API 上使用Application.ActivityLifecycleCallbacks

最新更新