您不能同时在上面进行多个活动。你想让它们一个接一个地按顺序运行吗?
实现此目的的一种方法是启动每项活动以获得结果:
Intent intent = new Intent(this, MyActivity.class);
startActivityForResult(intent, 0);
您使用请求代码来跟踪活动何时运行。然后,在 onActivityResult 中您可以开始下一个:
protected void onActivityResult (int requestCode, int resultCode, Intent data) {
if (requestCode < NUM_ACTIVITIES) {
Intent intent = new Intent(this, MyActivity.class);
startActivityForResult(intent, requestCode + 1);
}
}
编辑:
如果您希望某些 Activity 立即在后台运行,您可以通过在每个 Activity 的 onCreate 中调用 startActivity 将它们链接在一起。如果您在创建任何视图之前在 onCreate 中启动一个新的 Activity,则该 Activity 将永远不可见。
protected void onCreate (Bundle savedInstanceState) {
int numLeft = getIntent().getIntExtra("numLeft");
if (numLeft > 0) {
Intent intent = new Intent(this, MyActivity.class);
intent.putExtra("numLeft", numLeft - 1);
startActivity(intent);
}
}
这应该可以完成您想要的堆栈。