将targetSdkVersion设置为"13"会导致Activities忽略android:configChanges="orientation"标记

14
似乎 API Level 13 已经(就我所知)悄悄地改变了对 android:configChanges 属性的处理方式。
在我的情况中,当应用程序清单中的 "targetSdkVersion" 设置为 "13" 时,任何配置为内部处理方向更改(例如,不应在屏幕旋转时重新启动)的活动都将始终重新启动,而不管它们的声明中是否包含了 android:configChanges="orientation" 属性。
将 "targetSdkVersion" 简单地切换到 "12" 可以恢复预期的行为。
我搜索了 API 13 发布说明,但没有找到有关这种更改的任何提及。是否有人知道 API 13(以及可能的较新 API)是不支持 android:configChanges="orientation",还是有其他方法可以实现这一点呢?
2个回答

13

看起来有些新的关于 configChanges 的文档,特别是针对 HONEYCOMB_MR2 发布的。也许你可以尝试使用orientation|screenSize|smallestScreenSize,看看是否改变了行为。希望至少能引导你朝正确的方向前进。


2
确实,“orientation|screenSize”的组合起到了作用(最小屏幕尺寸似乎并不重要)。非常感谢您指引我正确的方向。 - StefanK
显然,这个设置不会被子活动继承 :( - 因此我需要为每个活动单独设置它 oO - AgentKnopf

0
尝试这个:<android:configChanges="orientation|screenSize"/>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接