每次启动Android应用程序时都会显示启动画面

时间:2012-09-19 14:30:25

标签: android user-interface interface

我在应用程序中有启动画面。当用户在主屏幕并按下后退按钮时;一个警告对话框,其中包含“您要退出吗?”出现了,如果用户睡觉好,则调用moveTaskToBack(true);:应用程序将退出。但是,在立即启动应用程序时,不会显示启动画面。如何在每次启动应用程序时显示启动画面?

4 个答案:

答案 0 :(得分:4)

关于如何制作闪屏的几点建议。

说我们有SplashActivityHomeActivity

SplashActivity应该是您的启动器活动(在清单中)。

<intent-filter>
      <action android:name="android.intent.action.MAIN" />

      <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

当您开始HomeActivity时,您应该在finish()上致电SplashActivity,以便在点击后退按钮时不会返回。{/ p>

HomeActivity中,当您截取后退按钮以显示对话框时,请不要将moveTaskToBack(true);调用为OK,因为这只会将您的应用程序移至后台并且不会终止它。

您应该致电finish()。由于您已在SplashActivity上调用完成,因此剩下的唯一活动是HomeActivity,因此您的应用将关闭。

答案 1 :(得分:4)

理想情况下你不应该这样做。你应该尊重用户对app行为的期望。当他点击你的应用时,它应该从他离开的地方开始。如果应用程序因内存限制而被终止,那么它将重新开始。

如果你想这样做:来源:Close application and launch home screen on Android

Intent intent = new Intent(this, FinActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(intent);
finish();

内部FinActivity: 在onCreate中调用finish()。

答案 2 :(得分:1)

我认为您的SplashScreen仅在应用程序启动时显示 因此,如果Acitivites没有完成但只是暂停,SplashScreen将不会显示,因为应用程序并未真正关闭。

您可以在按下后退按钮时完成应用程序(代码:this.finish())或检查每个活动的onResume() - 如果应用程序处于后台,则显示方法,如果为真,则显示SplashScreen。

答案 3 :(得分:0)

我觉得启动应用程序所需的启动屏幕的唯一原因是,如果你想通过一个线程加载一些信息,这只是我的意见。

无论如何,您应该将启动画面作为清单中的第一个活动启动,然后启动一个启动下一个活动的意图?(实际的主要活动)。几个月前,当我第一次处理这些时,有一个很棒的教程,它与你一步一步地完成它。 我希望这会有所帮助:)

Tutorial I Tutorial II