Android活动历史堆栈问题

时间:2010-08-30 16:43:00

标签: android android-activity history task

在我的应用程序中,我遇到活动历史记录堆栈的问题。确实,我认为我有5项活动:

  1. Splashscreen
  2. 注册
  3. 登入
  4. ForgottenPassword
  5. 主页
  6. 我会看到:

    • 首次启动(用户未记录):可能有3个不同的线框
      • Splashscreen - > SignUp - >家
      • Splashscreen - > SignUp(已经是会员) - > SignIn(有效日志) - >家
      • Splashscreen - > SignUp(已经是会员) - >登录 - > ForgottenPassword(登录/密码通过邮件接收) - > SignIn(有效日志) - >家
    • 其他发布(用户注册):Splashscreen - >主页(自动日志)

    问题是: 我想要2个任务,一个是Splashscreen,SignUp,SignIn和ForgottenPassword,另一个是Splashscreen和Home。 为什么?因为从Home返回应该关闭应用程序但返回到先前的活动(SignUp或SignIn根据线框)。 在SignUp和SignIn上使用history=true定义活动,但不允许忘记密码 - >登录和登录 - >注册:(

    感谢您的帮助

1 个答案:

答案 0 :(得分:3)

有两种方法可以做到这一点,一种方式:

每当您启动Home活动时,请使用startActivityForResult。当家庭活动退出(用户点击)时,将通知先前的活动。如果您不希望显示该活动,请立即完成该活动。您可以使用请求或结果代码来帮助您确定是否要再次显示活动。

我相信你也可以这样做:

startActivity(homeActivityIntent);
finish();

在您启动主页活动时从堆栈中删除上一个活动。