Android 如何使用填充的backbackback启动活动?

Android 如何使用填充的backbackback启动活动?,android,android-activity,Android,Android Activity,我收到一个需要启动活动的通知B。但是,我希望能够让用户“返回”到DasboardA 我想知道如何才能做到这一点?我是否需要使用额外的意图来启动a并在onCreate中处理该意图,然后手动启动B?或者可以手动指定一个backbackback吗?我会使用您自己的解决方案,创建活动a的意图,并以此意图告诉活动a应该启动活动B 此行为不是标准的Android行为。用户应使用后退按钮进入最后一个屏幕。我不会试图劫持这个操作系统功能 例如,如果在您的情况下,用户通过通知发送到消息的详细视图,back应关闭您

我收到一个需要启动活动的通知
B
。但是,我希望能够让用户“返回”到Dasboard
A


我想知道如何才能做到这一点?我是否需要使用额外的意图来启动a并在
onCreate
中处理该意图,然后手动启动
B
?或者可以手动指定一个backbackback吗?

我会使用您自己的解决方案,创建活动a的意图,并以此意图告诉活动a应该启动活动B

此行为不是标准的Android行为。用户应使用后退按钮进入最后一个屏幕。我不会试图劫持这个操作系统功能

例如,如果在您的情况下,用户通过通知发送到消息的详细视图,back应关闭您的应用程序并移回上一屏幕。如果您想让您的用户能够从邮件“返回”到整个邮件收件箱,请使用可与ICS操作栏一起使用的结构。听起来很复杂,但本质上这只意味着你需要添加一个按钮,让用户进入收件箱。自从Actionbar(我想是2010年夏天)推出以来,这个向上按钮就有了一个标准的位置。它位于屏幕的左上角。(就像iOS的后退按钮一样;)

您可以使用该方法一次性启动活动的完整后退

startActivities(
    new Intent[]
    {
        new Intent("my.intent.FOO_INTENT"),
        new Intent("my.intent.BAR_INTENT"),
        new Intent("my.intent.BAZ_INTENT")
    });
在本例中,创建了一个Baz实例,并将其设置为当前活动

如果Baz完成,则会创建一个Bar实例并将其设置为当前活动

如果Bar完成,则会创建一个Foo实例并使其成为当前活动

此方法是在API级别16中引入的,但在v4支持库中通过类:


为什么要“人为地”改变后堆栈?我将用一个例子来帮助解释我得到了什么,Facebook应用程序显示我有一个通知。我查看新的消息/照片/事件,然后按back,这会将我带回到按下通知之前的位置。如果我想使用FB应用程序的其余部分,当触发通知的事件发生时,我已经在使用它了。所以我问-为什么在你的应用程序中,我希望看到你的应用程序的仪表板上的背压?是的,我同意,这是一个有点不符合秩序的Android。我会考虑的。它没有出故障。这正是谷歌的建议,如果你要开始的活动不是“独立”的。是的,这也许是个好主意。我目前没有一个actionbar,但也许研究一下它是个好主意。你不需要添加一个完整的actionbar(在Android 3.x之前是不可用的)。请记住,如果您要添加一个向上按钮,用户希望它位于屏幕左上角。实际上建议使用此功能,具体请参见标题为“通过主屏幕小部件和通知导航到您的应用程序”的部分。此外,您还可以通过支持库获得真正的操作栏功能,或者更好的ActionBarSherlock。
ContextCompat.startActivities(context,
    new Intent[]
    {
        new Intent("my.intent.FOO_INTENT"),
        new Intent("my.intent.BAR_INTENT"),
        new Intent("my.intent.BAZ_INTENT")
    });