如何完成“小组”活动?

时间:2019-05-17 14:58:45

标签: android android-activity

我在Android应用中进行了一项操作,其中包含一些活动。在此操作结束时,我需要关闭所有这些活动并返回到开始此操作的屏幕。下图说明了其工作原理。有什么选择吗?

Diagram

在我的情况下,

P / S /碎片不是一个选择

3 个答案:

答案 0 :(得分:2)

有很多方法可以做到这一点。很快,它们是:
1。使用startActivityOnResult()方法开始所有活动。赶上是否需要关闭它们
2。从Activity_1开始清理当前的堆栈:

intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_NEW_TASK); 
startActivity(intent);
finish(); 


3。活动位于流程内部。您可以在AndroidManifest中为您的活动定义另一个过程(3,4,5)。之后,您需要返回到先前的过程并从backStack中删除当前过程。

答案 1 :(得分:1)

您可以使用flag=Intent.FLAG_ACTIVITY_CLEAR_TASK完成活动组。
这是代码示例

 startActivity(new Intent(SignIn.this, MainActivity.class).setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP | Intent.FLAG_ACTIVITY_CLEAR_TASK));

答案 2 :(得分:1)

您可以使用flag=Intent.FLAG_ACTIVITY_CLEAR_TASK清除所有先前的活动。该标志用于清除所有先前的活动。

尝试此代码

 //  go to login activity

Intent intent =newIntent(AddNewCardActivity.this,HomeNavigationActivity.class);
      intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TASK);
            startActivity(intent);
            finish();