0

只是,我怎样才能关闭我的应用程序的特定活动?

例如我有以下活动:

A1 > B1 > C1

在 C1 中,我可以使用新参数再次进入 A 活动,因此当我打开新的 B (B2) 时,我想关闭旧活动:A1、B1、C1。

作为新的结果:

A2 > B2

我可以在 B2 之后回到 A2,并从 A2 完成应用程序。

4

2 回答 2

3

你有两种方法可以做到这一点:

您可以使用活动声明,例如single top或者,您可以使用start for result在活动之间传递数据。然后在onActivityResult上调用finish();

于 2013-04-25T14:53:59.820 回答
0

这应该适合你:

Intent i = new Intent(C.this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(i); 

FLAG_ACTIVITY_CLEAR_TOP将清除Activities堆栈中的所有其他内容。FLAG_ACTIVITY_CLEAR_TASK

此标志将导致在活动开始之前清除与活动相关联的任何现有任务。

意图标志

@Dalmas 所述的注意事项FLAG_ACTIVITY_CLEAR_TASK仅适用于 API >= 11

于 2013-04-25T14:50:24.137 回答