在android应用程序关闭之前,放代码执行的可靠位置是什么?

在android应用程序关闭之前,放代码执行的可靠位置是什么?,android,activity-finish,ondestroy,Android,Activity Finish,Ondestroy,我想在关闭应用程序之前让系统上的用户离线,并删除一些文件和其他内容。我试着把它放在ondestroy中,但是代码没有执行。暂停时调用onstop,这不是我想要的。有什么想法吗,伙计们 根据谷歌的文档,你不能依靠onDestroy()方法来实现你想要做的事情 在销毁活动之前执行任何最终清理。这可能是因为活动正在完成(有人对其调用finish()),或者因为系统正在临时销毁此活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况。注意:不要指望调用此方法作为保存数据的场所 也许你

我想在关闭应用程序之前让系统上的用户离线,并删除一些文件和其他内容。我试着把它放在ondestroy中,但是代码没有执行。暂停时调用onstop,这不是我想要的。有什么想法吗,伙计们

根据谷歌的文档,你不能依靠onDestroy()方法来实现你想要做的事情

在销毁活动之前执行任何最终清理。这可能是因为活动正在完成(有人对其调用finish()),或者因为系统正在临时销毁此活动实例以节省空间。您可以使用isFinishing()方法区分这两种情况。注意:不要指望调用此方法作为保存数据的场所


也许你最好在关闭应用程序之前明确你想做什么以及为什么要做。你也可以看看今年的Google IO中刚刚提出的建议。它保证即使你的应用程序被强制关闭,你的任务也能运行。

你有一个选择,就是创建并运行一个服务并使用方法
onTaskRemoved
。有关详细信息,请参阅此答案-

暂停后会出现onStop()和onDestroy。似乎onStop()是您希望在特定情况下使用的位置。请查看上面的文档。如果这无助于发布更多详细信息

编辑:在再次阅读您的问题后,我想出了一个可能的解决方案: 当您手动暂停并且不希望断开连接时,您可以设置一个标志,例如
“保持在线”
和On Stop()


(很抱歉格式化,我在电话上:)

覆盖
onBackPressed
onDestroy
,如果您关闭应用程序,则会调用
onDestroy
<当应用程序处于后台且在暂停后调用code>onStop。。我知道。。我要求solution@yupi没有背压。当用户通过按x标记关闭多个应用程序时。我的意思是强迫它停止“我想在关闭应用程序之前让系统上的用户离线”,我知道这意味着什么。当然,您的问题会有一个解决方案,但您没有提供足够的连贯信息来帮助提供解决方案。这是什么?“…删除一些文件和其他东西…”这是绝对需要在
onDestroy
方法中完成的,而在
onStop
中无法完成的?我被卡住了,工作经理没有提供onDestroy解决方案
If (flag=="STAY_ONLINE") {//do something}
else {//disconnect the user}