是否可以一次启动多个活动?我的意思是,从主要创建3个活动按某种顺序,只是最后一个将是可见的?到目前为止,我只能创建一个活动。
谢谢
答案 0 :(得分:37)
例如,在用户点击通知以显示一些新添加的内容后,您可能需要这样的内容才能深入启动应用。
Intent i = new Intent(this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
Intent j = new Intent(this, B.class);
j.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(j);
Intent k = new Intent(this, C.class);
startActivity(k);
通过这种方式,您可以同时启动活动A,B和C,并禁止转换到活动A和B.您可以从当前活动转换为活动C.我强烈建议您记录活动生命周期例如,方法调用(onCreate等)到LogCat。它有助于理解事件的顺序。
答案 1 :(得分:12)
真的很老问题,但我还以为我还是回答了。
使用: public void startActivities (Intent[] intents, Bundle options)
答案 2 :(得分:11)
对于深层链接或其他用例,您基本上需要综合重建任务(以及它应包含的所有活动),这可能是常见的事情。有时,仅在清单中指定parents
是不够的。
看看TaskStackBuilder。一个常见的例子:
TaskStackBuilder.create( this )
.addNextIntent( intentOnBottom )
// use this method if you want "intentOnTop" to have it's parent chain of activities added to the stack. Otherwise, more "addNextIntent" calls will do.
.addNextIntentWithParentStack( intentOnTop )
.startActivities();
答案 3 :(得分:3)
在startActivity(new Intent(...);
- 第一个活动的方法结束时尝试onCreate
。
这将立即启动一个新的Activity并暂停第一个。
使用后退键,您将返回上一个活动