较旧的设备和AndroidManifest configChanges"screenSize"

Tho*_*alc 1 java android android-manifest screen-size android-configchanges

引用文档:

注意:从Android 3.2(API级别13)开始,当设备在纵向和横向之间切换时,"屏幕大小"也会更改.因此,如果要在开发API级别13或更高级别(由minSdkVersion和targetSdkVersion属性声明)时由于方向更改而阻止运行时重新启动,则除了"orientation"值之外,还必须包含"screenSize"值.也就是说,你必须decalare android:configChanges ="orientation | screenSize"

我需要忽略screenSize配置更改.我的最低SDK级别为8(Android 2.2),目标SDK级别为13.因此,我需要在清单中引入它.

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

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

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

And*_*uin 6

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


Ale*_*cas 5

简短回答:它被忽略了.

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