如果活动不在backstack中 - 启动它,但如果是 - 重新启动它并删除它之后的所有活动

时间:2014-02-14 08:11:32

标签: android android-intent android-activity

抱歉我的英文

换句话说,我想做什么。


1)

A - B - C - D

开始 E

A - B - C - D - E


2)

A - B - C - D

开始 B

A - B


我该怎么做?

更新

但我还需要按D按钮返回上一个活动(例如,从CBack)。

3)

A - B - C - D

Back按钮

A - B - C


3 个答案:

答案 0 :(得分:0)

在尝试将活动从一个移动到另一个的每种方法中使用finish()。例如

Intent intent = new Intent(a.this, b.class);
startActivity(intent);
finish();

因此,当您回到活动b时,它将自动完成所有其他活动。在您尝试从一个活动移动到另一个活动的每个Intent中使用此finish()

答案 1 :(得分:0)

您好,

您可以使用B中的startActivityForResult(Intent, int) 文档Here

答案 2 :(得分:0)

用于下一页

 Intent j = new Intent(A.this,B.class);
    j.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(j);

@Override
        public void onBackPressed() {

        finish();
    }