2012-07-30 69 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或更高版本的設備上運行,此配置更改也不會重新啓動您的活動)。

相關問題