1

引用的文档:旧版设备和AndroidManifest configChanges“屏幕尺寸”

注意:与Android 3.2(API级13)中,“画面尺寸” 也改变时纵向和横向 之间的设备切换开始方向。因此,如果要在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明的 )时为 方向更改而阻止运行时重新启动,则 除“方向”外还必须包含“screenSize”值为 。也就是说,你必须decalare 机器人:configChanges = “方向|屏幕尺寸”

我需要忽略screenSize配置变化。我的最低SDK级别是8(Android 2.2),目标SDK级别是13级。因此,我需要在清单中介绍它。

但是,Eclipse无法识别它,因为它的Android设置设置为2.2。所以我把它改成了适当的级别,现在它可以正确构建。

但是,我恐怕在旧版本中会出现screenSize配置更改尚不可用的问题。 (例如,当应用程序在Android 2.2设备上运行时)。也就是说,应用程序在读取清单时会崩溃,因为screenSize将是未知值。或者它会在3.2之前的设备上忽略它?

P.S .:我现在没有机会在真实设备上进行测试,在这样一个关键问题上我不会相信模拟器本身。

回答

6

它会忽略它。 splitscreen动作栏和其他类似的东西也是如此。与java不同的是,android操作系统无法从清单中理解它基本上忽略的任何内容。

5

简答:它被忽略。

通常,由于这个原因,清单中未被识别的值(如2.2之前的设备上的screenSize)会被忽略。否则,开发人员不可能使用新平台版本中添加的功能,而不会破坏旧设备的向后兼容性。

+0

感谢您的回答。我将AndroidPenguin的答案设置为接受,因为他首先发布。我赞成你的。 –

+0

对不起,我按字面上打了你一分钟:P upvoted你的,虽然都一样=) – AndroidPenguin

+0

感谢您的upvotes!不用担心,我完全不惊讶有人打我发布答案。只要它是正确的,我根本不介意:) –