我制作了一个Android应用程序,当我关闭应用程序(使用主页按钮)并重新打开应用程序时,它不会再次调用onCreate()
。相反,它只是从内存加载。
如何确保每次打开应用程序onCreate()
时都会确定?
修改
该应用必须在onCreate()
和onResume()
中执行相同的操作。
当我将确切的代码复制到函数onResume()
时,它的工作方式不同。
因此,我想完全关闭应用程序(和进程)(或执行类似操作),以便在重新打开应用程序后始终调用onCreate()
。
答案 0 :(得分:1)
当我关闭应用程序时(使用主页按钮)
对于“关闭”的任何典型定义,这不会“关闭应用程序”。在桌面操作系统中,最接近的类比是最小化应用程序。
我怎样才能确保每次打开应用程序onCreate()时都会执行?
你没有。相反,您使用更合适的其他lifecycle methods,例如onStart()
,它们将在onCreate()
(首次创建活动时)和之后调用当活动从后台回到前台时。
答案 1 :(得分:1)
我知道你希望每次应用程序打开时都会调用onCreate()但不会。这是因为当您再次打开它时,您的应用仍会处于最新状态。
如果您希望每次只调用onCreate(),则必须在按下home时从最近删除。为此,您需要对Manifest for the活动进行更改。请尝试使用以下内容进行Manifets中的活动:
机器人:clearTaskOnLaunch ="真"
机器人:finishOnTaskLaunch ="真"
答案 2 :(得分:0)
我已将System.exit(1)
放入onStop()
函数中。从最近的应用打开应用后,它会运行onCreate()
。
所以这对我有用。
答案 3 :(得分:-1)
只需拨打onResume
这就行了。
@Override
protected void onResume() {
super.onResume();
// TODO: do what ever you want
}
查看此网站:Activity-lifecycle concepts