较旧的设备和AndroidManifest configChanges“screenSize”

时间:2012-12-27 23:30:39

标签: java android android-manifest screen-size android-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。:我现在没有机会在真实设备上进行测试,在这样一个关键问题上,我不相信模拟器。

2 个答案:

答案 0 :(得分:6)

它会忽略它。对于分屏操作栏和其他类似的事情也是如此。与java不同,android os无法从清单中理解的任何东西它基本上忽略了。

答案 1 :(得分:5)

简短回答:它会被忽略。

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