gpt4 book ai didi

android - 启动时运行一次代码

转载 作者:搜寻专家 更新时间:2023-11-01 08:07:41 25 4
gpt4 key购买 nike

我想在应用程序每次启动时运行一小段代码。我尝试了以下方法:

  • 在 Activity.onCreate() 中。但这行不通,因为 Activity 可能会在轮换时重新创建。
  • 创建 Application 的子类并在其中的 onCreate() 中运行。这似乎也不起作用。它会在安装应用程序时执行,但不会在您退出应用程序并再次进入时执行。

有什么想法吗?

最佳答案

在您的主要 Activity 中,声明一个静态 bool 标志,您在运行启动代码时将其设置为 true。在 onCreate 中,仅当标志为 false 时才运行启动代码。在 onDestroy 中(或在任何关闭生命周期方法中,就此而言),如果 Activity 正在完成,请清除标志:

protected void onDestroy() {
super.onDestroy();
if (isFinishing()) {
startedFlag = false;
}
}

这将在 Activity 完成时清除标志,但如果 Activity 由于配置更改而被销毁,则保持不变。

还有一个问题:Activity 的进程可能会在暂停时终止并且应用程序处于后台。在这种情况下,当用户尝试将应用程序带回前台时系统重新创建 Activity 时,该标志将为 false。如果这是一个问题,那么您将不得不使标志持久化。我建议为此使用共享首选项。

关于android - 启动时运行一次代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12976043/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com