在android 8.1中,活动自动旋转并恢复正常
我的应用程序在所有android版本中都运行良好,但我注意到,在android 8.1.0(Oreo)中,当我将屏幕从纵向活动切换到横向活动时,当我按下后退按钮时,它会显示异常行为 屏幕从横向自动旋转并恢复正常。 看起来活动正在自行重新启动 下面是清单文件中定义的活动在android 8.1中,活动自动旋转并恢复正常,android,android-manifest,android-orientation,android-8.1-oreo,Android,Android Manifest,Android Orientation,Android 8.1 Oreo,我的应用程序在所有android版本中都运行良好,但我注意到,在android 8.1.0(Oreo)中,当我将屏幕从纵向活动切换到横向活动时,当我按下后退按钮时,它会显示异常行为 屏幕从横向自动旋转并恢复正常。 看起来活动正在自行重新启动 下面是清单文件中定义的活动 <activity android:name=".Home.TrainingsActivity" android:configChanges="keyboardHidden|orientation|scree
<activity
android:name=".Home.TrainingsActivity"
android:configChanges="keyboardHidden|orientation|screenSize|layoutDirection|locale"
android:screenOrientation="portrait" />
<activity
android:name=".Home.ProgrammeActivity"
android:configChanges="keyboardHidden|orientation|screenSize|layoutDirection|locale"
android:screenOrientation="landscape" />
我们在奥利奥也面临同样的问题。我们实际上无法解释为什么它会发生在特定的操作系统版本上。但我们确实有办法解决这个问题。 完成横向活动时,可以向纵向添加力方向。 在ProgrammeActivity中使用onBackPressed()方法添加此项
@Override
public void onBackPressed() {
super.onBackPressed();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
这应该可以解决这个异常行为:)让我试试这个解决方案。感谢您的快速回复:)如果这对您有所帮助,将不胜感激。您可以使用baseActivity处理此问题,如果您已经编写了其他内容,请编写逻辑LandScapeBaseActivity,并从中继承这些活动。感谢此解决方案!!,我已经在这个问题上坐了两个小时了..>很好,这解决了问题,非常感谢您,因为任何一个都不起作用,请保留onDestroy()方法。