美文网首页
“Only fullscreen opaque activiti

“Only fullscreen opaque activiti

作者: 不务正业的程序猿 | 来源:发表于2019-10-25 14:23 被阅读0次

    原由:

    如把targetsdkversion调成26以上,并且Activity主题设为透明,而又指定了activity屏幕的方向的话,在Android8.0的手机上会直接抛出RunRuntimeException异常,并且打印的错误信息里面会有这段话:"Only fullscreen opaque activities can request orientation "

    安卓8.0版本时为了支持全面屏,增加了一个限制:如果是透明的Activity,则不能固定它的方向,因为它的方向其实是依赖其父Activity的(因为透明)。然而这个bug只有在8.0中有,8.1中已经修复。

    具体crash有两种:

    1、如果Activity的主题为透明,在manifest文件中指定了一个方向,则在onCreate中crash

    2、如果Activity的主题为透明,调用setRequestedOrientation方法,则crash

    解决:

    方案1、targetsdkversion降低到26及以下

    方案2、对项目中的activity做一次筛查,避免指定透明主题的activity同时又指定了方向

    相关文章

      网友评论

          本文标题:“Only fullscreen opaque activiti

          本文链接:https://www.haomeiwen.com/subject/jjmsvctx.html