在调用第一个Activity之前,我会显示启动画面大约3秒钟。启动画面也是一个活动,3秒后完成()es并启动FirstActivity。 此外,我已将启动活动的屏幕旋转设置为纵向视图。
现在,当我测试我的应用程序时,它工作正常,但在启动屏幕的3秒内,如果我更改屏幕旋转,我的第一个活动被调用两次。
是否有任何方法/代码段可以帮助我打开我的第一个活动一次,尽管当Splash Screen Activity处于前台时屏幕旋转。 ?谢谢你的帮助:)
答案 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"
它会阻止您的活动在出现方向时重新创建