gpt4 book ai didi

android - 如果用户在主要 Activity 中按下主页按钮或后退按钮,每次都会启动启动画面

转载 作者:太空宇宙 更新时间:2023-11-03 13:17:33 25 4
gpt4 key购买 nike

我有两个 Activity 。1]启动画面2]主要 Activity

一旦闪屏任务结束,它就会移动到下一个 MainActivity..但我的要求是..如果用户按下主页按钮或 backPress 。当用户再次恢复应用程序时,它应该从闪屏开始,而不是从 MainActivity 开始。

提前致谢

最佳答案

我看到这里的每个答案都说要覆盖 onResume() 方法。这是一个坏主意。为什么?好吧,当您处于 MainActivity 并接到电话时,您仍然可以在后台看到 Activity ,因为它处于 onPause() 状态。当您取消调用时,将调用 onResume(),然后调用 SplashActivity。这不是良好的用户体验,也不是您想要的。

此外,onResume()MainActivity 的创建过程中被调用。因此,如果您将 startActivity() 代码放在 onResume() 中而不进行任何条件检查,您将永远看不到 MainActivity 本身。 SplashActivity 将在 MainActivity 创建时立即启动。


那么,如何完成你想要的呢?

  1. SplashActivity 启动 MainActivity 后,不要finish() SplashActivity。让它保留在返回堆栈中,这样当您按下返回按钮时,您将转到 SplashActivity

  2. MainActivityonStop() 方法中设置一个标记以注意 MainActivity 已最小化。然后在 onStart() 中检查此标志并仅在设置此标志时启动 SplashActivity。这是为了确保应用已最小化并正在恢复。

主要 Activity :

 private boolean isMinimized = false;

@Override
protected void onStop() {
super.onStop();
isMinimized = true;
}

@Override
protected void onStart() {
super.onStart();

if(isMinimized){
startActivity(new Intent(this , SplashActivity.class));
isMinimized = false;
finish();
}
}

关于android - 如果用户在主要 Activity 中按下主页按钮或后退按钮,每次都会启动启动画面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33543587/

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