我有一个从浏览器打开的活动 当设备处于横向状态时,让我低于错误
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
清单
<activity android:name=".Activity.MyActivity"
android:configChanges="orientation"
android:screenOrientation="portrait"
android:theme="@style/AppTheme.Theme_Slide"
>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="xxx"
android:scheme="xxx" />
<data
android:host="xxx"
android:scheme="xxx" />
</intent-filter>
</activity>
style.xml
<style name="AppTheme.Theme_Slide" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowCloseOnTouchOutside">false</item>
</style>
答案 0 :(得分:19)
更新 查找解决方案
在android Oreo中,您无法更改具有
的Activity的方向 <item name="android:windowIsTranslucent">true</item>
样式中的。您必须先从清单中删除以下行
android:screenOrientation="portrait"
第二,您必须将此行添加到Java文件
//android O fix bug orientation
if (android.os.Build.VERSION.SDK_INT < Build.VERSION_CODES.O) {
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
}