Activity 旋转自身并在 android 8.1 中恢复正常

Activity rotating itself and back to normal in android 8.1

我的应用 运行 适用于所有 android 版本,但我注意到在 Android 8.1.0 (Oreo) 中,当我从纵向进入屏幕时 [=21] =] 到横向 activity 并且当我按下后退按钮时它显示异常行为。

屏幕自动从横向旋转,returns它变为正常。 看起来 Activity 正在自行重启。

以下是清单文件中定义的活动。

<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" />

我们也遇到了与奥利奥相同的问题。我们实际上无法触发特定 OS 版本发生这种情况的原因。但是我们确实有解决这个问题的方法。 您可以在完成横向时为纵向添加强制方向 activity。 在 ProgrammeActivity 中用 onBackPressed() 方法添加这个。

 @Override
public void onBackPressed() {
    super.onBackPressed();
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}

这应该可以解决这个异常行为:)