Android 8.1 横屏切换灰竖屏崩溃问题
2019-01-07 本文已影响139人
鹅鹅鹅_
最近适配android 8,遇到了横屏切换到竖屏就会崩溃问题,这个问题在android旧版本下是没问题。
我们的App绝大多数页面都是默认竖屏的,只有个别的特殊页面才会使用横屏
在BaseActivity.kt中设置了页面横竖屏的方法
protected var isLandscape = false
override fun onResume() {
super.onResume()
// 强制横屏
if (isLandscape) {
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE
} else {
requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT // 竖屏
}
}
若继承自BaseActivity.kt的Activity想要横屏的效果
@Override
protected void onResume() {
// 强制横屏
setLandscape(true);
super.onResume();
}
默认竖屏
横屏页面
crash.gif
解决方案,在需要横屏的Activity添加如下方法
@Override
public void onBackPressed() {
super.onBackPressed();
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}