前言
今天在测试淘宝登录授权时,发生了一个崩溃问题。同事手机是Android8.0的,在授权淘宝登录时,本应该跳转到淘宝的LoginActivity,结果出现以下日志:
Unable to start activity ComponentInfo{com.lamezhi.cn/com.ali.auth.third.ui.LoginActivity}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
问题分析
Only fullscreen opaque activities can request orientation
意思是只有全屏不透明的activity才可以设置方向,也就是说淘宝Activity手动取消App启动白屏或者黑屏的时候,将界面设为了透明,然后这个时候又设置了方向为垂直,从而导致了这个问题。
解决办法
这里不针对淘宝问题,而是Only fullscreen opaque activities can request orientation带来的崩溃。
注册清单这样写:
<!--设置淘宝登录页面Activity的样式-->
<activity android:name="com.ali.auth.third.ui.LoginActivity"
android:theme="@style/AlibcLoginTheme"
tools:replace="android:theme"
/>
创建一个styles文件
<style name="AlibcLoginTheme" parent="android:Theme.NoTitleBar.Fullscreen">
<item name="android:windowIsTranslucent">false</item>
<item name="android:windowDisablePreview">true</item>
</style>
这样就处理好了