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);
}
这应该可以解决这个异常行为:)
我的应用 运行 适用于所有 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);
}
这应该可以解决这个异常行为:)