最近遇到一个很奇怪的问题,activityA竖屏跳转到activityB横屏,返回的从B返回到A,A不是竖屏而是横屏了,出现在少部分手机,
这个问题
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT)是对整体app生效的,
从横屏回到竖屏会同时经历ActivityA和ActivityB的生命周期
(ActivityB的onpause-ActivityA的onresume-ActivityB的onstop等),
此时app处在横竖屏的过渡阶段,问题也就出在这。
方案
activityB的onpause
protected void onPause(){
super.onPause();
if(isFinishing()){
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}
}
原文地址https://www.jianshu.com/p/e907eaa3a239
关注CC不定时更新^_^