java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

文章目录

  • 背景
  • 报错提示
  • 解决方法

背景

手机升级系统后,到了Android8.0,打开原来自己开发的一个app后,发现直接打不开,即闪退了。通过手机重新运行项目调试后发现了问题所在,下面给出解决方法。


报错提示

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation_第1张图片

报错提示:java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

产生这个错误的原因是因为清单配置文件中给这个 SplashActivity 设置了 Theme 为:

android:theme="@android:style/Theme.Translucent.NoTitleBar"

设置这个主题是为了解决 App启动白屏的问题。

但是Android8.0下,透明主题的Activity是不可以设置方向的,但是我又设置了方向,所以会引发这个异常。

给出我的清单配置文件图示:
在这里插入图片描述

可以看到我主题透明的同时也设置了方向。因此异常就产生了,直接闪退。


解决方法

找到设置的主题,然后在这个主题的style文件中添加下面一个item设置即可:

false

我的启动页面的代码有设置主题,如图:
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation_第2张图片

然后,定位到AppTheme资源文件中,添加上面的item设置,如图:

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation_第3张图片

重新运行后不会闪退了。亲测有效!


A little bit of progress every day!Come on!

你可能感兴趣的:(安卓开发技术学习,技术分享类)