Android Splash Screen Bug

时间:2011-01-12 11:14:04

标签: android android-activity screen splash-screen splash

在调用第一个Activity之前,我会显示启动画面大约3秒钟。启动画面也是一个活动,3秒后完成()es并启动FirstActivity。 此外,我已将启动活动的屏幕旋转设置为纵向视图。

现在,当我测试我的应用程序时,它工作正常,但在启动屏幕的3秒内,如果我更改屏幕旋转,我的第一个活动被调用两次。

是否有任何方法/代码段可以帮助我打开我的第一个活动一次,尽管当Splash Screen Activity处于前台时屏幕旋转。 ?谢谢你的帮助:)

4 个答案:

答案 0 :(得分:5)

这不是一个真正的错误。当您更改方向时,将再次创建当前活动,因此您的SplashActivity被调用两次。

我写了一篇关于手动处理方向更改的博文; http://c0deattack.wordpress.com/2010/12/25/dealing-with-screen-orientation-changes-manually/

答案 1 :(得分:3)

我也有这个'错误'。这里描述了我如何解决它:Activity reloads when orientation changes in Android

答案 2 :(得分:1)

我认为你的启动画面线程会再次被调用。

所以简单地设置一个标志,用于旋转2个检查屏幕。如果是,则不要再次调用此线程。 例如

boolean urScreenRotationFlag = false;

如果(!urScreenRotationFlag) { 你的飞溅线程代码

}

并且在屏幕旋转时将此标志设置为2。

Thankks。

答案 3 :(得分:0)

您可以通过将此xml属性添加到Splash

中的Mainfest活动来解决此问题

android:configChanges="orientation|keyboardHidden|screenSize"

它会阻止您的活动在出现方向时重新创建