問題表象:從豎屏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);
}
}