有没有办法让Android应用程序直接返回它开始的活动?

时间:2012-05-31 00:33:03

标签: android

我只是在学习Android编程。我理解它的方式是服务像堆栈一样工作,是否有办法让活动返回到启动应用程序的第一个活动,而不仅仅是前一个活动。

示例,假设我有4个活动,a,b,c,d。有没有办法让活动d有一个按钮,可以带来活动?而不是活动d转到c,而c转回b ???

4 个答案:

答案 0 :(得分:1)

您可以重新开始 a 活动,但在意图中使用标记:

FLAG_ACTIVITY_REORDER_TO_FRONT

来自android docs

  

如果在传递给Context.startActivity()的Intent中设置,则此标志将导致已启动的活动在其任务的历史堆栈中已经运行时被带到其前面。

使用此功能,您将重用已经运行的 a 活动实例,而不是重新开始。请注意,执行此操作时,活动 b c d 的实例将保留在后台堆栈中(现在在活动 a <之后/ em>的)。

否则,如果您想完成此活动(并从后台堆栈中删除它们),您可以使用this other flag启动 a (来自 d )的活动:

FLAG_ACTIVITY_CLEAR_TOP

  

如果已设置,并且正在启动的活动已在当前任务中运行,则不会启动该活动的新实例,而是将关闭其上的所有其他活动,并将此Intent传递给(现在在顶部)作为新意图的旧活动。

编辑:如果您还没有这样做,这是一个很好的阅读资源: Tasks and Back Stack

答案 1 :(得分:0)

是的,你可以这样做。您只需将活动a的意图编码为按钮。

答案 2 :(得分:0)

使用命令

finish():

您将恢复到主页

或者写一个指向

的意图

答案 3 :(得分:0)

您可以通过Activities向不同的Intents发送信息。

Intent myIntent = new Intent(this, AvitivityName.class);
startActivity(myIntent);

不要忘记在Activities中添加AndroidManifest.xml

以下是Android Intents上的一些教程:

  1. how to use Android intents

  2. how to switch to another activity with a button click