Android 8.0踩坑记录之Only fullscreen opaque activities can request orientation

问题描述

Android 8.0下崩溃错误:Only fullscreen opaque activities can request orientation,即只有全屏不透明的Activity才可以设置方向

java.lang.RuntimeException: Unable to start activity ComponentInfo{cn.appblog.example/cn.appblog.lib.google.signin.GoogleSignInActivity}: 
    java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation

原因:出现这样的问题,绝大多数都是因为我们为了提高用户体验,或者因为背景设置需要,手动取消App启动白屏或者黑屏的时候,将Splash界面设为了透明,然后这个时候又设置了方向为垂直,从而导致了这个问题。

解决方案

取消screenOrientation

android:screenOrientation="portrait"

修改style

找到设置透明的Activity,然后在其Theme中将android:windowIsTranslucent改为false,并添加android:windowDisablePreview为true

<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>
上一篇 Android Monkey的使用
下一篇 Android Gradle配置productFlavors、apk路径及文件名示例
目录
文章列表
1 Vuex核心概念解析State Getters Mutations Actions
Vuex核心概念解析State Getters Mutations Actions
2
Python Web框架Django模板标签
Python Web框架Django模板标签
3
Jenkins打包Android apk记录
Jenkins打包Android apk记录
4
CURL使用SSL证书访问HTTPS
CURL使用SSL证书访问HTTPS
5
React Native学习之图片Image组件
React Native学习之图片Image组件
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。