是否可以同时启动多个活动?我的意思是,从主要活动中按某种顺序创建3个活动,只有最后一个活动可见?到目前为止,我只能创建一个活动。
谢谢
是否可以同时启动多个活动?我的意思是,从主要活动中按某种顺序创建3个活动,只有最后一个活动可见?到目前为止,我只能创建一个活动。
谢谢
例如,当用户点击通知以显示一些新添加的内容时,您可能需要类似这样的东西来启动应用程序的深入操作。
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获得单个转换。我强烈建议您在LogCat中记录Activity生命周期方法调用(例如onCreate等)。这对于了解事件顺序非常有帮助。
onCreate()
中进行登录(使用设置FLAG_ACTIVITY_NO_ANIMATION
)。那个次要活动的onCreate()
似乎从未被调用过。它应该像这样工作吗?我可以从我的主要活动的onCreate()
中调用startActivity(secondary)
吗?我如何调用次要活动的onCreate()
? - Vit Bernatik这可能是对深层链接或其他用例的常见响应,基本上需要合成重建任务(及其应包含的所有活动)。有时,在清单中仅指定parents
是不够的。
请查看TaskStackBuilder。一个常见的示例:
TaskStackBuilder.create( context )
.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();
startActivity(Intent)
可以很好地工作。 - Tuan Chau虽然这是一个很老的问题,但我认为我还是可以回答。
使用: public void startActivities (Intent[] intents, Bundle options)
在第一个Activity的onCreate
方法末尾尝试使用startActivity(new Intent(...);
。
这将立即启动一个新的Activity并暂停第一个Activity。
使用返回键可以返回到上一个Activity。