我有活动A和B.A是具有LAUNCHER intent-filter的那个(即当我们点击主屏幕上的app图标时启动的活动)。
使用startActivity(new Intent(A.this, B.class))
启动B。
当用户打开B活动,然后将我的应用程序置于后台,之后我的应用程序的进程被终止,当用户再次启动我的应用程序时,打开B而不是A.
这导致我的应用程序关闭了一个强制关闭,因为A是初始化我的应用程序所需资源的活动,当B尝试访问未初始化的资源时,B崩溃。
在这种情况下,您有什么建议吗?
答案 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))