无法阻止Activity重启

时间:2013-03-15 11:37:49

标签: android android-activity orientation

我想阻止系统在设备orientation发生更改时重新启动我的活动。 minSdkVersion必须为10,targetSdkVersion必须至少为15。我无法使用configChanges="orientation|screenSize",因为最低版本的SDK版本为10,此属性的“screenSize”值仅在SDK版本13之后出现。

有什么建议吗?

我知道有类似的问题得到解答,但问题仍未解决。请不要建议将min SDK版本设置为高于10,因为这会切断运行2.3.x的设备,这是市场的43%。目标SDK必须至少为15。

提前谢谢。

4 个答案:

答案 0 :(得分:3)

因为它是在android开发者网站上描述的

http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

你必须指定

android:configChanges="orientation|keyboardHidden"

如果您的目标是API等级12或更低。

答案 1 :(得分:1)

试试这个,在mainfest.xml每个活动

中添加此代码
android:configChanges="keyboardHidden|orientation"

答案 2 :(得分:0)

如果你不一定需要具体的configChanges =“orientation | screenSize” 你可以尝试这个android:configChanges =“orientation | keyboardHidden”。

默认情况下,当Android上发生某些关键配置更改时(常见的示例是方向更改),Android会完全重新启动正在运行的活动,以帮助其适应此类更改。

当你在AndroidManifest中定义android:configChanges =“keyboardHidden | orientation”时,你会告诉Android:“当拔出键盘或手机旋转时,请不要进行默认重设;我想处理我自己。是的,我知道我在做什么“

答案 3 :(得分:0)

如果targetSdkVersion为15或更高,则需要指定

android:configChanges="orientation|keyboardHidden|screenSize"

这适用于所有设备。