Android - 开始多项活动

时间:2011-10-07 07:32:06

标签: android android-activity multiple-instances

是否可以一次启动多个活动?我的意思是,从主要创建3个活动按某种顺序,只是最后一个将是可见的?到目前为止,我只能创建一个活动。

谢谢

4 个答案:

答案 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并暂停第一个。 使用后退键,您将返回上一个活动