0

我正在开发一个包含 8 个以上活动的简单聊天应用程序。但我的主要问题是我的应用程序的两个活动。想想whatsapp,它有一个主活动(联系人列表)和聊天活动,而且总是,whatsapp 应用程序维护堆栈状态,从应用程序列表启动应用程序或长按 HOME。此外,如果应用程序从通知启动,则永远不会在堆栈中出现重复的活动。我想在我的应用程序中复制这种行为,但我已经尝试了所有的可能性,并且总是出现活动没有被破坏、堆栈上的重复活动、所有这些问题都试图在返回应用程序时保持堆栈状态的情况。

任何人都知道如何实现它?

  • 活动 A-> 联系人列表
  • 活动 B-> 聊天活动

每个活动的清单中的参数是什么?

对于意图通知?我想要通知启动活动 B 并按后退按钮转到活动 A。

4

1 回答 1

0

我不确定您在寻找什么,但这里有两件事可能会有所帮助:

  • android:noHistory:在清单中将此属性设置为 true,以便在活动堆栈中不留下任何痕迹的活动。因此,如果您要使用 ActivityA --> ActivityB (noHistory=true) --> ActivityC,并且用户按下后退按钮,那么您将返回 ActivityA,因为 ActivityB 已经卸载。
  • Activity.finish():被调用的活动自行退出。调用通常的回调 ( onStop(), onDestroy())。如果您想防止重复活动,在您不想重复的活动中调用它可能会有所帮助onPause()

如果这些还不够,那么“back stack”文档中有更多详细信息:

https://developer.android.com/guide/topics/fundamentals/tasks-and-back-stack.html

于 2012-05-02T22:09:52.367 回答