【问题标题】:Return to last Activity返回上一个活动
【发布时间】:2010-07-29 01:33:13
【问题描述】:

在大多数 Android 应用程序中,当您按下 Home 按钮以“最小化”应用程序然后再次打开该应用程序时,您将被带到您上次在该应用程序中打开的屏幕。

我已阅读以下内容:

通过主页上的图标启动时 屏幕,Android 将始终启动 与活动 android.intent.action.MAIN 过滤器 您的 AndroidManifest.xml,除非 应用程序已经在运行(在 在这种情况下它显然会恢复 堆栈顶部的活动)。

但这并没有发生。当我第二次启动应用程序时,它会将我带到主 Activity。应用程序没有被终止。如果我然后导航到我上次打开的屏幕,所有数据等都在那里。

如何让它做我想做的事?相关问题似乎都提出了相同的答案(我在上面引用的那个),但这并不成立。

【问题讨论】:

    标签: android android-activity launch


    【解决方案1】:

    您的活动是否属于同一任务?也就是说,您是否以FLAG_ACTIVITY_NEW_TASK 的身份开始您的任何活动?我不是很肯定,但这可能会改变简历行为。

    【讨论】:

    • Intent intentLaunchInbox = new Intent(ActivityLogin.this, ActivityInbox.class); startActivity(intentLaunchInbox);我开始这样的新活动。我相信默认使用 FLAG_ACTIVITY_NEW_TASK?
    • "实例是否可以在其任务中包含其他活动。“singleInstance”活动作为其任务中的唯一活动独立存在。如果它启动另一个活动,则该活动将启动到不同的任务中不管它的启动模式如何——好像 FLAG_ACTIVITY_NEW_TASK 是在意图中。在所有其他方面,“singleInstance”模式与“singleTask”相同。我正在使用单实例。我可以在这里做什么?
    • 您的应用程序是否需要单实例才能正常工作?我的猜测是这就是问题所在。尝试将其设为 standard 并查看它是否符合您的预期。如果实际上将其称为singleTask 是导致它无法返回正确活动的原因,我不确定可以做什么。我自己从来没有遇到过这个问题,但我确信有一个解决方案
    • 我从 singleInstance 切换到了 singleTask,它似乎可以按我的意愿工作。我只希望 Activity 的单个实例位于 Activity 堆栈上。
    猜你喜欢
    • 2013-12-05
    • 2011-05-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多