2010-08-30 251 views
1

在我的应用程序中,我遇到了活动历史堆栈问题。事实上,考虑我有5个活动:Android活动历史堆栈问题

  1. 闪屏
  2. 注册
  3. 签到
  4. ForgottenPassword
  5. 首页

我会看到:

  • 首次启动(用户未登录):3型动物线框可能
    • 闪屏 - >注册 - >首页
    • 闪屏 - >注册(已经成员) - >签到(有效日志) - >首页
    • 闪屏 - >注册(已经成员) - >签到 - > ForgottenPassword(登录/密码通过邮件接收) - >签到(有效日志) - >首页
  • 其他推出(用户注册):闪屏 - >首页(自动日志)

问题是: 我想要2个任务,一个用Splashscreen,SignUp,SignIn和ForgottenPassword,另一个用Splashscreen和Home。 为什么?因为回到家应该关闭应用程序,但回到以前的活动(根据线框注册或登录)。 上注册与history=true定义活动,签到这样做,但不允许ForgottenPassword - >签到签到和 - >注册:(

感谢您的帮助

+2

我跟着你解决了这个问题。你什么时候想回家的时候发生?关闭应用程序?或者回到最后一个屏幕?默认情况下,它应该返回到最后一个屏幕。你能否更好地解释你想要什么,现在发生了什么? – 2010-08-30 17:10:35

+0

回到家后,必须始终关闭应用程序 – OlivierD 2010-08-30 19:08:34

回答

3

有几个方法可以做到这一点,一个办法:

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

我相信你也可以做这样的事情:

startActivity(homeActivityIntent); 
finish(); 

从堆栈中,当您启动家庭活动删除以前的活动。