回家后重新进入应用程序时如何运行代码(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)的主要内容,如果未能解决你的问题,请参考以下文章