1. 程式人生 > >Android 8.0踩坑記錄——Only fullscreen opaque activities can request orientation

Android 8.0踩坑記錄——Only fullscreen opaque activities can request orientation

原文地址:https://www.jianshu.com/p/d0d907754603

 

前言

各位小夥伴大家好啊,昨天屁顛屁顛把專案適配到8.0,本來覺得美滋滋,結果app一啟動直接crash,搞得我一臉懵逼。。。不能忍啊,趕緊去看一下日誌,於是就看到了如下圖

 

有一句是這樣的Only fullscreen opaque activities can request orientation,也就是說只有全屏不透明的activity才可以設定方向,既然知道問題所在就好辦了。

原因

出現這樣的問題,絕大多數都是因為我們為了提高使用者體驗,手動取消App啟動白屏或者黑屏的時候,將Splash介面設為了透明,然後這個時候又設定了方向為垂直,從而導致了這個問題。

如何解決app啟動白屏(黑屏)請參考我之前的文章
https://www.jianshu.com/p/c24058c3d385

解決

重點來了,解決辦法其實很簡單

1.找到你設定透明的Activity,然後在他的theme中將android:windowIsTranslucent改為false
eg:<item name="android:windowIsTranslucent">false</item>

2.再加入<item name="android:windowDisablePreview">true</item>就搞定了。