运行 每次打开 android 个应用时创建

Run oncreate every time android app is opened

我制作了一个 android 应用程序,当我关闭应用程序(使用主页按钮)并重新打开应用程序时,它不会再次调用 onCreate()。相反,它只是从内存中加载。

如何确保每次打开应用程序时都执行 onCreate()


编辑: 该应用程序必须在 onCreate() 中执行与在 onResume() 中相同的操作。

当我将确切的代码复制到函数 onResume() 时,它的工作方式不同。

因此我想完全关闭应用程序(和进程)(或做类似的事情)所以 onCreate() 总是在重新打开应用程序后被调用。

只需调用 onResume 即可。

@Override
protected void onResume() {
    super.onResume();
    // TODO: do what ever you want 
}

看看这个网站:Activity-lifecycle concepts

when I close the app (using the home button)

对于 "close" 的任何典型定义,"close the app" 都不是。在桌面 OS 中最接近的类比是最小化应用程序。

How can I make sure every time the app is opened onCreate() is executed?

你不知道。相反,您使用其他更合适的 lifecycle methods,例如 onStart(),它们将在 onCreate() 之后调用(当 activity 首次创建时) 当activity从后台返回到前台时。

我了解到您希望每次打开应用程序时都调用 onCreate(),但事实并非如此。这是因为您的应用程序在您再次打开时仍处于最近状态。

  1. 当您打开已存在于最近的应用程序时,您的 onStart() 会被调用。尝试在 onStart() 中添加您的逻辑。
  2. 如果您只想每次都调用 onCreate() ,那么您必须在按下主页时从最近的记录中删除。为此,您需要使用下面的 activity inManifets 来更改 activity.Try 的 Manifest fie:

    android:clearTaskOnLaunch="true"

    android:finishOnTaskLaunch="true"

我在 onStop() 函数中输入了 System.exit(1)。从最近的应用程序打开应用程序后,它运行 onCreate().

所以这对我有用。