Android8.x手机系统缺陷导致Only fullscreen opaque activities can request orientation

25 阅读1分钟

在Android8.x手机中,使用了

<item name="android:windowBackground">@android:color/transparent</item>

并在设置中打开了允许屏幕旋转后,会报出这个错误。这个问题开始用Android8.0,在Android9中被修复。

解决方案一

如果不需要固定屏幕方向为portrait,直接在AndroidManifest.xml中去掉activity的android:screenOrientation="portrait"即可。

解决方案二

如果需要固定屏幕方向为portrait,给主题加上

<!-- 修复8.x请求屏幕方向问题 -->
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>

也可以解决。