安卓finishAndRemoveTask多塞诺启动第二次活动
这是第一次活动
Intent i = new Intent(currentAct.this, secondAct.class);
i.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
i.putExtra("abcd", j);
startActivity(i);
finishAndRemoveTask();如果我不添加finishAndRemoveTask();,它可以很好地工作,secondAct starts
这是舱单
<activity
android:name="currentAct"
android:noHistory="true"
android:theme="@style/Theme.AppCompat.Translucent"
android:taskAffinity=".ShortCutActivity">
</activity>
<activity
android:name="secondAct"
android:noHistory="true"
android:theme="@style/Theme.AppCompat.Light.NoActionBar.FullScreen"
android:taskAffinity=".ShortCutActivity">ShortCutActivity只是一个mainactivity
如何启动第二个活动并将第一个活动从堆栈中移除?
发布于 2017-08-21 07:33:04
在调用startActivity之前使用此方法(意图)
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);发布于 2017-08-21 07:35:11
您应该为启动意图添加标志FLAG_ACTIVITY_CLEAR_TASK。
Intent intent = new Intent(this, Activity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |
Intent.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);提到文档:
如果在传递给Context.startActivity()的意图中设置了此标志,则此标志将导致在活动启动之前清除与该活动关联的任何现有任务。也就是说,该活动将成为一个空任务的新根,所有旧的活动都会完成。这只能与FLAG_ACTIVITY_NEW_TASK一起使用。
https://stackoverflow.com/questions/45791475
复制相似问题