在API 11之前运行的一种方法是先启动ActivityGameMain
,然后在该onCreate
Activity的其中启动您的ActivitySplashScreen
活动。ActivityGameMain
当您为启动启动太早调用startActivity时,将不会出现。
然后,您可以ActivityGameMain
通过在Intent上设置以下标志来清除堆栈:
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
您还必须将其添加到ActivitySplashScreen:
@Override
public void onBackPressed() {
moveTaskToBack(true);
}
这样一来,按回该活动就不会回到您的ActivityGameMain
。
我假设您不希望启动画面回到任何一个,要实现此目的,建议noHistory
您在中将其设置为AndroidManifest.xml
。然后将goBackPressed
代码放入您的ActivitySplashScreenSignUp
类中。
但是,我发现了几种方法可以解决此问题。在出现的通知中启动另一个应用程序,ActivitySplashScreenSignUp
并且历史记录未重置。
解决此问题的唯一真正方法是在API 11中:
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);