今天安装公司的app,发现安装完成之后竟然无法打开(乖乖,这是什么鬼,难道我的手有毒?)
看了报错之后心态当场炸裂:
【报错内容】
Caused by: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
大概意思就是:只有不透明的全屏activity,才可以自主设置界面方向。
【问题原因】
在AndroidManifest.xml中,Activity属性同时设置了:
1、android:screenOrientation=""
2、android:theme="" 中 <item name="android:windowIsTranslucent">true</item>
android:screenOrientation的所有属性 :
unspecified | 默认值,由系统决定,不同手机可能不一致 |
landscape | 强制横屏显示 |
portrait | 强制竖屏显 |
behind | 与前一个activity方向相同 |
sensor | 根据物理传感器方向转动,用户90度、180度、270度旋转手机方向,activity都更着变化 |
sensorLandscape | 横屏旋转,一般横屏游戏会这样设置 |
nosensor | 旋转设备时候,界面不会跟着旋转。初始化界面方向由系统控制 |
user | 用户当前设置的方向 |
sensorPortrait | 竖屏旋转 |
【解决办法】
删除AndroidManifest.xml中相应Activity的 android:screenOrientation=""属性;
或者
删除相应Activity的android:theme=""属性中对应style中<item name="android:windowIsTranslucent">true</item>属性