0

我想防止系统在设备orientation更改时重新启动我的活动。minSdkVersion必须是 10,至少targetSdkVersion必须是 15。我无法使用configChanges="orientation|screenSize",因为最低 SDK 版本为 10,并且此属性的“screenSize”值仅在 SDK 版本 13 后出现。

请问有什么建议吗?

我知道已经回答了类似的问题,但问题仍然没有为我解决。请不要建议将最低 SDK 版本设置为高于 10,因为这会切断运行 2.3.x 的设备,即 43% 的市场。目标 SDK 必须至少为 15。

先感谢您。

4

4 回答 4

3

正如 android 开发者网站上所描述的那样

http://developer.android.com/guide/topics/resources/runtime-changes.html#HandlingTheChange

你必须指定

android:configChanges="orientation|keyboardHidden"

如果您的目标是 API 级别 12 或更低。

于 2013-03-15T11:44:48.117 回答
1

mainfest.xml试试这个,在你的每个活动中添加这个代码

android:configChanges="keyboardHidden|orientation"
于 2013-03-15T11:41:19.953 回答
0

如果你不需要特别 configChanges="orientation|screenSize" 你可以试试这个 android:configChanges="orientation|keyboardHidden"。

默认情况下,当 Android 上发生某些关键配置更改(常见示例是方向更改)时,Android 会完全重新启动正在运行的 Activity 以帮助其适应此类更改。

当您在 AndroidManifest 中定义 android:configChanges="keyboardHidden|orientation" 时,您是在告诉 Android:“请不要在拔出键盘或旋转手机时进行默认重置;我想自己处理。是的,我知道我在做什么”

于 2013-03-15T11:52:35.213 回答
0

如果你targetSdkVersion是 15 或更大,那么你需要指定

android:configChanges="orientation|keyboardHidden|screenSize"

这适用于所有设备。

于 2013-03-15T12:51:36.673 回答