Android 8.0 Only fullscreen activities can request orientation 崩溃的解决

崩溃产生前提条件:

当 targetSdkVersion 为27时,且运行在 8.0的机器上时,运行在8.0以下的机器不会报错,或者targetSdkVersion修改为27以下也不会报错。

崩溃场景还原:

不管Activity是不是全屏,只要在Activity中设置竖屏:
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
并且 Acitivity的 Theme 中有
<item name ="android:windowIsTranslucent">true</item>

崩溃是什么

就会报下面这个错误,导致崩溃。
com.jianyifu.demo.MainActivity}: java.lang.IllegalStateException: Only fullscreen activities can request orientation
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2817)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2892)
at android.app.ActivityThread.-wrap11(Unknown Source:0)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1593)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:164)
at android.app.ActivityThread.main(ActivityThread.java:6541)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,935评论 25 709
  • 1 进程启动过程 Android应用程序框架层创建的应用程序进程具有两个特点,一是进程的入口函数是Activit...
    Kevin_Junbaozi阅读 9,307评论 0 23
  • ==================================================== 一:什么...
    爱情小傻蛋阅读 13,302评论 3 31
  • 在我们这个风雨交际的时刻,将要面临着中考,心里是多么的急切。也正在这时我们更应努力学习,为中考的准备打...
    晨光少年阅读 472评论 0 1
  • 总认为你的眉是最美的 秋水盈盈的眼波之上 一横眉黛 如远山青碧 似烟雨蒙蒙 你的眉最得山水的神韵 隐藏得淡淡的闲愁...
    梦双眸阅读 1,404评论 1 8