如何在应用程序启动“新鲜”时显示启动画面?
我想在应用程序生命周期中只显示一次启动画面。 这是我的代码:
SplashScreenActivity.java:
final int welcomeScreenDisplay = 3000; Thread welcomeThread = new Thread() { int wait = 0; @Override public void run() { try { super.run(); while (wait < welcomeScreenDisplay) { sleep(1000); wait += 1000; } } catch (Exception e) { System.out.println("EXc=" + e); } finally { // Start other Activity startActivity(new Intent(SplashScreenActivity.this, MainActiviey.class)); finish(); } } }; welcomeThread.start();
表现:
问题是如果我按下硬件HOME按钮隐藏应用程序并再次在应用程序列表中打开应用程序。 它将再次显示启动画面(而不是显示MainActivity
)。 是否可以仅在应用程序启动“新鲜”时显示启动画面(不在onresume()中显示)? 谢谢!
是的,这是可能的。 使用SharedPreferences存储标志,表示您的启动已经显示。 在启动画面的onCreate()
方法中检查它,如果它存在,则启动下一个活动。
你不能有这两个活动的意图:
此外,您可能希望隐藏历史堆栈中的启动画面,以防您根据Ash建议决定在其中启动另一个活动。
您可以在活动代码上使用此标记:
android:noHistory="true"