2012-07-30 78 views
0

我希望我的应用程序以最低api级别8运行...我尝试使用android:configChanges =“orientation | keyboardHidden”。在较低版本中,onConfigurationchanged()方法被调用并且方向被处理..但是当我在3.2和更高版本中运行时,onConfigurationchanged()未被调用并且活动被重新创建。 所以我添加了android:configChanges =“orientation | keyboardHidden | ScreenSize”,但是当我编译时我的应用程序无法在3.2版本以下的版本中运行ICS ..我应该怎样处理2.2到4.0.1版本的所有配置更改重新创建活动?如何处理从较低版本(2.2)到ICS(3.2)及更高版本的Android配置更改

回答

1

您是否在清单中设置了targetSdkVersion?例如,

<uses-sdk 
    android:minSdkVersion="8" 
    android:targetSdkVersion="16" /> 

您的代码应该只要你targetSdkVersion大于或等于13工作。确保你正在建立你的项目以及SDK版本3.2或更高版本。

0

你也应该添加参数 “屏幕尺寸” 到Android:configChanges = “方向|屏幕尺寸| keyboardHidden”

文档: 注意:从Android 3.2(API等级13)开始,“屏幕尺寸“也会在设备在纵向和横向之间切换时发生变化。因此,如果要在开发API级别13或更高级别时(由minSdkVersion和targetSdkVersion属性声明)防止由于方向更改导致运行时重新启动,则除“方向”值外,还必须包含“screenSize”值。也就是说,你必须decalare android:configChanges =“orientation | screenSize”。但是,如果您的应用程序的目标级别为12或更低,则您的活动始终会自行处理此配置更改(即使在Android 3.2或更高版本的设备上运行,此配置更改也不会重新启动您的活动)。

相关问题