Android 8.0 常见bug

java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation 最近在做一个即时IM通讯的app,在Android8.0版本运行app的时候发现总是crash,logcat里面的问题也是一大串,没办法只好一行一行的看,而且logcat还在一直不停的刷新,真是头大,最后一个一个error查看,最后定位到java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation这样的一个error,google一下在StackOverflow上找到了答案:
In Android O and later this error happens when you set

android:screenOrientation="portrait"

【Android 8.0 常见bug】in Manifest.
Remove that line and use
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

in your activity.
This will fix your issue.
意思就是在Android8.0以上如果我们在Manifest文件中指定了一个Activity的屏幕方向是portrait的话就会出现这个异常,看评论说这其实是一个官方Bug,在后续更新中应该会修复。搞了半天是Google的问题,我还以为是MIUI的问题,关了MIUI优化又关了Instant Run都不行,折腾了半天,希望其他遇到这个bug的人也可以看到这篇博客吧。

    推荐阅读