0

我已经发现了一堆与此主题相关的类似问题,我知道解决方案是将“screenSize”附加到 android:configChanges 属性(如果您有兴趣,请参阅onConfigurationChanged 不被调用)。但这不适用于我的情况。

我的应用程序基于 Android 2.2(API 级别 8)构建,设备安装了 2.3(API 级别 9)。有什么线索吗?先感谢您。

已附上相关 Manifest.xml 片段:

<application android:icon="@drawable/icon" android:label="@string/app_name"
         android:debuggable="true">
        <activity android:name="com.erlinyou.Erlinyou"
                  android:label="@string/app_name"                  
                  android:configChanges="orientation">                  
                  android:launchMode="singleInstance">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
</application>
4

2 回答 2

0

这取决于您的targetSdkVersion设置。请参阅以下来自 Google 的解释。它的意思是:

对于 targetSdkVersion低于 13(HONEYCOMB_MR2),为您的 Activity 设置 android:configChanges="orientation"

对于 targetSdkVersion大于或等于 13(HONEYCOMB_MR2),为您的 Activity 设置android:configChanges="orientation|screenSize"

http://developer.android.com/reference/android/R.attr.html#configChanges screenSize 当前可用的屏幕尺寸已经改变。如果应用程序的目标不是至少 HONEYCOMB_MR2,那么活动将始终自行处理(更改不会导致重新启动)。这代表了当前可用尺寸的变化,因此当用户在横向和纵向之间切换时会发生变化。

希望对你有效。

于 2013-11-14T00:08:54.767 回答
0

* onConfigurationChanged *

onConfigurationChanged 方法.. 仅在 3.2 api 以上

于 2013-05-23T10:14:03.057 回答