回家后重新进入应用程序时如何运行代码(Android)

Posted

技术标签:

【中文标题】回家后重新进入应用程序时如何运行代码(Android)【英文标题】:How to run code when app is re-entered after going to home (Android) 【发布时间】:2019-01-06 05:15:33 【问题描述】:

我想在点击主页按钮并重新打开应用程序后运行一些代码。在android-studio中重新打开应用程序(不是在被杀死后)时如何运行代码?

【问题讨论】:

【参考方案1】:

您可以使用 onStop() 方法或 onDestroy() ,如果您将完全关闭该活动,请使用 onDestroy(),如果您只是将其置于后台,您可以使用 onStop()

onDestroy() 的文档

在销毁活动之前执行任何最终清理。这个可以 发生要么是因为活动正在结束(有人叫 finish() 就可以了,或者因为系统暂时破坏了它 活动实例以节省空间。你可以区分 这两个场景都用 isFinishing() 方法。

onStop()的文档

当您不再对用户可见时调用。接下来你会 接收 onRestart()、onDestroy() 或什么都不接收,具体取决于 以后的用户活动。

我看到你编辑了你的问题,看看生命周期

就像 sagar 所说,您可以使用onResume() 来恢复您当前的活动

【讨论】:

但我希望它在重新打开时运行。 你可以在它重新打开时使用onCreate()方法,它会重新启动你的Activity,然后运行onStart()【参考方案2】:

您可以在onResume() 方法中执行操作。这是应用程序与用户交互的状态。应用程序会一直保持这种状态,直到发生某些事情将注意力从应用程序上移开。请注意,从后台到前台的 Activity 或从头开始创建的 Activity 之间没有区别。每当应用进入前台状态时,onResume() 都会被调用。

为了在onResume() 中区分它,您需要维护一个boolean 标志。您可以在onStop() 中设置标志并在onResume() 中进行检查。

只有当操作系统由于内存限制而没有终止托管您的活动的进程时,这种方法才有效。在这种情况下,您的 Activity 将被重新创建。

【讨论】:

【参考方案3】:

您可以使用 onRestart(),因为当您离开活动回家时,它会进入 onStop(),然后当您启动它时,系统会调用 onRestart() 和 onStart()。 有关更多信息,请参阅以下答案: https://***.com/a/35476531/7271231

【讨论】:

以上是关于回家后重新进入应用程序时如何运行代码(Android)的主要内容,如果未能解决你的问题,请参考以下文章

服务器重新启动后,Windows 任务计划程序无法运行

如何在 VS2017 中允许单例构造函数重新进入/传递?

启动重新启动容器后,进入交互模式

启动重新启动容器后,进入交互模式

如何实现java里,用户输入回车后,程序重新运行呢?

重新启动后恢复视图状态