Android:如何使启动器始终打开主要活动而不是子活动? (或其他)

时间:2010-05-26 03:10:28

标签: android stack android-activity task

我有活动A和B.A是具有LAUNCHER intent-filter的那个(即当我们点击主屏幕上的app图标时启动的活动)。

使用startActivity(new Intent(A.this, B.class))启动B。

当用户打开B活动,然后将我的应用程序置于后台,之后我的应用程序的进程被终止,当用户再次启动我的应用程序时,打开B而不是A.

这导致我的应用程序关闭了一个强制关闭,因为A是初始化我的应用程序所需资源的活动,当B尝试访问未初始化的资源时,B崩溃。

在这种情况下,您有什么建议吗?

2 个答案:

答案 0 :(得分:10)

你真的应该有活动B也要初始化你的资源。但是,您可以将android:clearTaskOnLaunch="true"放入活动A的清单中,以使启动程序始终进入该活动。

答案 1 :(得分:0)

您是否尝试在创建意图时设置Flag FLAG_ACTIVITY_NEW_TASK。 在您的情况下,请尝试startActivity(new Intent(A.this, B.class).setFlags(Intent.FLAG_ACTIVITY_NEW_TASK))