android - 应用程序强制关闭时的Android捕获事件
问题描述
当android应用程序被用户强行关闭时,我想将用户注销时间存储在数据库中(用于维护用户分析)。是否可以在 MainActivity 中捕获事件?
有人可以提出更好的方法来实现这一目标吗?
解决方案
没有可靠的方法来检测此事件-通知应用程序它将被杀死以允许此时执行某些代码(如您的情况-数据库处理)是一种不安全的方法。用户显然想停止这个应用程序,当它有可能在被杀死之前执行一些代码时,它可能会留下一些警报现在 + 10 秒AlarmManager
以重新启动一些后台服务。这与用户想要的相反
你能做的最好的就是在 lastActivity
被销毁(onDestroy
调用)时收听,但这可能在多种情况下发生,没有任何用户强制停止应用程序。使用一些static int
,++
何时Activity
创建,--
何时销毁或使用Application.ActivityLifecycleCallbacks
从不 API
推荐阅读
- java - 使用文件参数通过 Java 运行 python 脚本
- git - 无法使用 Https 和 SSH 链接从私有 git 存储库安装 ansible 集合
- node.js - 如何使用 Node.js 在容器外保存 mongodb 备份文件
- excel - 仅当相邻单元格中存在数据时,我如何才能使用 COUNTIFS?
- swiftui - SwiftUI 从另一个视图中捕获 Picker 值
- reactjs - 如何使 DataGrid 列从右侧 Material UI 开始
- sql - SQL 查找等 - 如何组合它们?
- php - 在 ElasticSearch 中将新元素推送/添加到嵌套对象数组中的最佳方法是什么?
- office-js - “抱歉,我们无法加载加载项”Office Word 加载项
- c++ - 同时写入多个文件