如何确定Android应用程序是否被强制关闭?
作者:互联网
我需要确定我的应用程序是否被强制关闭,崩溃或正常终止.我的问题是:您将如何在Android环境中进行此类操作.
处理异常很容易,我只需要替换Thread.setDefaultExceptionHandler.
困难的部分是:如何区分强制关闭和“正常”关闭(例如多次按回车键或Home键,等等)?
原因是:我们可以将本地数据库的内容同步到服务器.而且我们有充分的理由允许仅在Main活动的状态1中执行此操作,而不是在状态2中进行此操作.但是,如果用户在程序中在Main活动的状态2中发现一些与db相关的语义错误,那么他或她就可以呆在那里.
我们已为传入呼叫中断和其他配置更改做好了准备,因此,如果应用程序陷入状态2,则强制关闭该应用程序,然后重新打开它,仍将使用户处于阶段2而不是阶段1.
因此,我们希望为用户提供一种方法,在强制关闭后返回到阶段1,并且能够同步数据库,从而可以保存他或她的大部分工作.
解决方法:
不幸的是没有办法.当用户或系统人员停止应用程序时,整个过程将被简单地杀死.没有回调通知您已发生这种情况.即使onDestroy()也不能保证被调用.在文档中对此进行了记录:“在某些情况下,系统将简单地终止活动的托管过程,而无需在其中调用此方法(或任何其他方法)……”
标签:forceclose,exception-handling,android 来源: https://codeday.me/bug/20191123/2064397.html