每次启动Android应用程序时显示启动画面
我在应用程序中启动了闪屏。当用户在家时屏幕并按下后退按钮;一个警告对话框“你想退出吗?”出现,如果用户行事确定,然后moveTaskToBack(true);
被称为:和应用程序将退出。但在即时启动应用程序时,不会显示启动画面。如何在每次启动应用程序时显示启动画面?每次启动Android应用程序时显示启动画面
关于如何制作启动画面的几点提示。我们有SplashActivity
和HomeActivity
。
SplashActivity
应该是您的启动器活动(在清单中)。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
当你开始HomeActivity
你应该SplashActivity
调用finish()
,这样你就不会在单击后退按钮返回。
在HomeActivity
当您拦截后退按钮以显示对话框时,请勿在OK上调用moveTaskToBack(true);
,因为这只会将您的应用程序移动到后台并且不会终止它。
您应该改用finish()
。由于您已在SplashActivity
上致电完成,因此剩下的唯一活动是HomeActivity
,因此您的应用程序将关闭。
问题在于,用户可以在应用程序运行中多次访问主屏幕,因此如果主屏幕是从其他活动访问并调用finish(),则应用程序不会退出并显示其他最后一个活动。 –
您可以通过[清除backstack](http://stackoverflow.com/a/5794572/1117415)从其他活动启动“HomeActivity”来解决此问题。 –
我的应用程序就像Splash> Home> ...其他活动。我叫moveTaskToBack(true);从家里。当我从设备中的应用程序启动器重新启动应用程序时,Splash不显示,它直接进入主页。那么如何在这种情况下显示Splash? –
我认为你的SplashScreen只在App启动时显示。
因此,如果Acitivites尚未完成,但只是暂停,则不会显示SplashScreen,因为该应用并未真正关闭。
您可以完成的应用程序时,后退按钮被按下(代码:this.finish()
)或检查每一个活动的onResume()
- 方法,如果应用程序在后台,如果真显示闪屏。
我觉得唯一的原因闪屏是以往任何时候都需要用于启动应用程序的,如果你想通过一个线程加载一些信息,而这样做,但是,这只是我的看法。
不管怎么说,你应该发动你的启动画面在你的清单中的第一个活动,你将推出一个意向,将启动下一个活动,然后后?(实际主)。有几个月前我在处理这些问题时使用了一个很棒的教程,它由STEP逐步完成。 我希望这有助于:)
理想情况下你不应该这样做。你应该尊重apps.When的行为,用户的期望,他点击了您的应用程序应该从他离开的地方开始。如果应用程序因内存限制而死亡,那么它将启动一个新的。
不过,如果你想这样做:来源: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。
请上传你的代码 – Lucifer
点击ok就把'finish();' –
SplashScreen!真...?不是一个好主意:) – waqaslam