10

我的应用程序在所有 android 版本上都运行良好,但我注意到在 Android 8.1.0 (Oreo) 中,当我将屏幕从纵向活动转到横向活动时,当我按下返回按钮时,它会显示异常行为。

屏幕自动从横向旋转并恢复正常。看起来 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" />
4

1 回答 1

19

奥利奥也面临同样的问题。我们实际上无法触发它发生在特定操作系统版本中的原因。但是我们确实有一个解决方案来解决这个问题。完成横向活动时,您可以将强制方向添加到纵向。在 ProgrammeActivity 中使用 onBackPressed() 方法添加这个。

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

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

于 2018-03-19T10:30:26.620 回答