从堆栈中删除有限活动并非全部

时间:2014-01-31 16:52:24

标签: java android

我有五个活动,例如

A,B,C,D,E

我要从A - > B - > C - > D - > ë

现在当我按下E

按钮时

我想直接去B而 B不应该创造新的活动

我知道

    Intent intent  = new Intent(this, ActivityB.class);
    intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        
    startActivity(intent);

通过这个我可以做到,但我不想通过做startActivity

创建活动B.

2 个答案:

答案 0 :(得分:0)

在按钮的onClick中,您可以拥有以下内容:

Intent intent  = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);        
startActivity(intent);

答案 1 :(得分:0)

在您的应用程序清单文件中定义类似

的活动
    <activity
        android:name="com.example.taskandbackstackexample.BActivity"
        android:label="@string/title_activity_b"
        android:launchMode="singleTask" >
    </activity>

开始您的活动
    Intent i = new Intent(this, BActivity.class);
    startActivity(i);

活动的“launchMode”属性的值为“singleTask”。系统创建新任务并在新任务的根目录下实例化活动。但是,如果活动的实例已存在于单独的任务中,则系统会通过调用其onNewIntent()方法将意图路由到现有实例,而不是创建新实例。一次只能存在一个活动实例。