【问题标题】:Android : Activity Stacking Issue or System Launching IssueAndroid:活动堆叠问题或系统启动问题
【发布时间】:2012-06-28 17:25:34
【问题描述】:

我的应用中的主/启动器活动是登录页面(活动 A)。一旦用户通过身份验证,他们就会被带到应用程序的主要区域,例如。 Activity B。所以现在这个任务的当前Activity栈是A > B。

然后我按下手机上的主页按钮,然后进入 Android 主屏幕。我通过 HTC Desire Z 中的快捷键重新启动我的应用程序(参见空格后的图像,有两个快捷方式 1 和 2),然后我被带到 Activity A,而不是 Activity B。Activity 堆栈现在是 A > B > A,或者现在有两个单独的任务,分别具有活动堆栈 A > B 和 A。我想要的是在我重新启动应用程序时回到活动 B..

I followed this link
上述解决方案适用于 2.3.3,但在 ICS 4.0.3 中存在一个问题,我没有被带到活动 B。
如何解决这个问题,在 ICS 中,当按下快捷方式时,我看不到 Intent 标志系统用于启动活动,这是系统 BUG 吗?
请帮忙
尼茨

【问题讨论】:

    标签: android android-intent


    【解决方案1】:

    我倾向于使用这样的登录模式。我将使用A 表示LoginB 表示Main 应用程序。

    我将B 设为启动器Activity,并在其onCreate() 中检查是否需要登录,如果需要,则立即启动Activity A。一旦A 完成,我finish() 它,所以我回到B

    这样,我的活动堆栈堆栈永远不会包含登录活动,除非它正在被使用。即,登录完成后,堆栈中只有B

    【讨论】:

    • 好方法,但是如果我需要遵循您的项目,我的项目现在需要进行很多更改..知道系统为什么会这样..
    • 您是否尝试在登录活动的清单条目中设置android:clearTaskOnLaunch=trueandroid:launchMode=singleInstance
    • 我需要我的 Activity A 活着直到我的应用程序关闭..所以我不能使用 android:clearTaskOnLaunch=true!!!!
    • 我不确定我是否理解登录活动的“活动”评论。活动 B 启动后,活动 A 将暂停。它不会让任务仍在运行 Activity A... 如果确实如此,那么它们可能应该在 ServiceApplication 中。我认为登录活动的目的是让用户登录,如果成功转移到“主要”活动,此时不再需要登录活动。
    猜你喜欢
    • 1970-01-01
    • 2016-07-28
    • 1970-01-01
    • 2011-10-14
    • 2011-07-05
    • 1970-01-01
    • 2012-07-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多