Android Activity getIntent和TaskStackBuilder getIntent()之间的区别是什么?

Android Activity getIntent和TaskStackBuilder getIntent()之间的区别是什么?,android,android-intent,android-activity,Android,Android Intent,Android Activity,正如我从google博客上读到的,我们开始使用startActivity()的每个活动都添加到了后堆栈中,那么如果我尝试从TaskStackBuilder中获取intent()而不是activity getIntent(),我可以获得相同的活动意图吗 我正在尝试理解任务和后台堆栈,请帮助我是否正确理解了它?用于在Android 3.0及更新版本上构建用于跨任务导航的合成后台堆栈的实用程序类 在API level 11(Android 3.0/Honeycomb)中,使用back键的应用程序导航的

正如我从google博客上读到的,我们开始使用startActivity()的每个活动都添加到了后堆栈中,那么如果我尝试从TaskStackBuilder中获取intent()而不是activity getIntent(),我可以获得相同的活动意图吗


我正在尝试理解任务和后台堆栈,请帮助我是否正确理解了它?

用于在Android 3.0及更新版本上构建用于跨任务导航的合成后台堆栈的实用程序类

在API level 11(Android 3.0/Honeycomb)中,使用back键的应用程序导航的推荐约定发生了变化。back键的行为是当前任务的本地行为,不会捕获不同任务之间的导航。跨任务导航和轻松完成上一个任务是通过“recents”UI完成的,可通过导航栏或系统栏上软件提供的recents键进行访问。在具有较旧硬件按钮配置的设备上,长按Home键即可访问最近的UI

当从一个任务堆栈切换到另一个后Android 3.0时,应用程序应该为新任务合成一个后堆栈/历史记录,以便用户可以通过反复按back键导航出新任务并返回到启动器。后退键不应跨任务堆栈导航

TaskStackBuilder提供了一种向后兼容的方式,以遵守设备版本平台上跨任务导航的正确约定。在运行Android 3.0或更新版本的设备上,调用startActivities()方法或发送GetPendingEvent生成的PendingEvent(int,int)将按照规定构造合成后堆栈。在运行旧版本平台的设备上,这些调用将调用所提供堆栈中最顶层的活动,忽略合成堆栈的其余部分,并允许back键导航回上一个任务

活动getIntent()
返回启动此活动的意图。

是否确实需要使用TaskStackBuilder?因为它被弃用了。但是,基本上,当我们希望用户在按下后退按钮后导航到另一个活动时,我们使用它。“当我们希望用户在按下后退按钮后导航到另一个活动时,我们使用它”:这意味着它存储了所有活动意图(如我看到的TaskStackBuilder源代码中的列表)所以,我们不能通过索引或其他方式了解特定活动的意图吗?使用“TaskStackBuilder”可能会非常棘手。它做了很多假设,并试图“做正确的事情”,而这往往是错误的,而且你的应用程序并没有按照你想要的方式运行。我已经回答了很多关于这方面的问题,基本上是告诉人们不要使用它,因为它在封面下做了很多没有很好记录的事情。为了帮助您,请解释您想要做什么。从文档中复制并粘贴并不是回答问题的最佳方式。