活动C如何返回到android中的活动A?

时间:2013-08-05 02:17:49

标签: android android-intent android-activity

假设有三项活动

A-> B-&以及c

如果我从C回到B,我必须做的只是:

在C:

            onBackPressed();

在B

protected void onSaveInstanceState(Bundle outState) {
.....
}

if (savedInstanceState != null) {
.....
}

上面的代码将处理从C到B的情况。但是,如果C到A,我该怎么办?另外,如果我希望A和C之间的所有活动在C到A时都会被破坏,如何处理?谢谢

1 个答案:

答案 0 :(得分:2)

  

另外,如果我希望A到C之间的所有活动在C到A时都会被破坏?

使用此Intent Flag

Intent i = new Intent(ActivityC.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
  

然而,如果C到A怎么办,我该怎么办?

此标志会将所有Activities保留在堆栈之间,但将A带到前面

Intent i = new Intent(ActivityC.this, ActivityA.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);

在任何一种情况下,如果您要删除finish(),则需要在致电startActivitiy()后致电Intent Flags

您可以找到所有{{1}} Here in the Docs