我正在创建一个具有多个屏幕的应用,用户必须浏览该应用。具体来说,我目前正在开展一系列必须如下链接的活动:
所以为了简化,我想要这样。
我试过这样做:
@Override
public void onBackPressed() {
super.onBackPressed();
Intent intent = new Intent(this, MainActivity.class);
startActivity(intent);
finish();
}
但这只是调用MainActivity的新实例。当我在MainActivity实例上按BACK时,它会将我带回CharacterMainActivity。
我怎样才能做到这一点?我假设它涉及访问活动堆栈?
答案 0 :(得分:5)
当您从活动B移动到活动C时,在活动C上调用finish()
的同时调用startActivity
。这将从任务堆栈中删除活动B.
答案 1 :(得分:0)
您可以为结果启动子活动,然后使用相同的请求代码完成子活动,结果也是如此。
开始儿童活动:
startActivityForResult (Intent intent, int requestCode)
完成所有儿童活动
finishActivity (int requestCode)