Android 8.0踩坑记录之Only fullscreen opaque activities can request orientation

问题描述

Android 8.0下崩溃错误:Only fullscreen opaque activities can request orientation,即只有全屏不透明的Activity才可以设置方向

1
2
java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.appblog.example/cn.appblog.lib.google.signin.GoogleSignInActivity}: 
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

原因:出现这样的问题,绝大多数都是因为我们为了提高用户体验,或者因为背景设置需要,手动取消App启动白屏或者黑屏的时候,将Splash界面设为了透明,然后这个时候又设置了方向为垂直,从而导致了这个问题。

解决方案

取消screenOrientation

1
android:screenOrientation="portrait"

修改style

找到设置透明的Activity,然后在其Theme中将android:windowIsTranslucent改为false,并添加android:windowDisablePreview为true

1
2
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>

Powered by AppBlog.CN     浙ICP备14037229号

Copyright © 2012 - 2020 APP开发技术博客 All Rights Reserved.

访客数 : | 访问量 :