安卓应用层

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);
    }

附一篇stackfollow相关的帖子

上一篇下一篇

猜你喜欢

热点阅读