问题表象:从竖屏A页面跳转到横屏B页面,再返回时A页面先横屏在竖屏,导致生命周期会重复回调
解决办法:
在A页面中加入:
@Override
protected void onResume() {
super.onResume();
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
@Override
protected void onPause() {
super.onPause();
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
@Override
protected void onDestroy() {
super.onDestroy();
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}
在B页面加入:
@Override
protected void onDestroy() {
super.onDestroy();
if (android.os.Build.VERSION.SDK_INT >= 27) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR_PORTRAIT);
}
}