答案 0 :(得分:0)
不幸的是,如果在清单中设置活动B以使用android:launchMode="singleTask"
,则无法(我知道)覆盖它。
但是,您可以从清单中删除此属性,而在想要 singleTask
行为时使用此类代码:
Intent intent = new Intent(this, ActivityB.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
最终结果是您在需要时获得singleTask
行为,而在您不需要时则无法获得此行为。你只需要改变策略。
答案 1 :(得分:0)
在onBack按活动方法
中使用以下代码 @Override
public void onBackPressed() {
Intent BackpressedIntent = new Intent();
BackpressedIntent .setClass(getApplicationContext(),B.class);
BackpressedIntent .setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(BackpressedIntent );
finish();
}