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

背景

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


报错提示

在这里插入图片描述

报错提示: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设置即可:

<item name="android:windowIsTranslucent">false</item>

我的启动页面的代码有设置主题,如图:
在这里插入图片描述

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

在这里插入图片描述

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


A little bit of progress every day!Come on!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值