如何设置它以便应用程序仅以纵向模式运行?我希望在应用程序运行时禁用横向模式.我该如何以编程方式执行此操作?
我有一个已android:windowIsTranslucent设置为true并android:windowBackground设置为半透明背景的活动.我刚刚更改了目标并将sdk版本编译为27,现在启动此活动时出现异常:
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
由于这是一个新的sdk,目前还没有关于它的任何内容(它似乎来自这行代码:https://android.googlesource.com/platform/frameworks/base.git/+/master/ core/java/android/app/Activity.java#987)
有没有办法解决这个问题?如果我android:screenOrientation="portrait"从我的清单中取出这项活动,该应用程序不会崩溃,但我希望能够保持这样.
Facebook SDK版本4.27.0
Android OS 8.0版
应用程序崩溃异常,这是我在Crashlytics上找到的跟踪日志:
Fatal Exception: java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxx.yyy/com.facebook.FacebookActivity}: java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2822)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2897)
at android.app.ActivityThread.-wrap11(Unknown Source)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1598)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:251)
at android.app.ActivityThread.main(ActivityThread.java:6563)
at java.lang.reflect.Method.invoke(Method.java)
at com.android.internal.os.Zygote$MethodAndArgsCaller.run(Zygote.java:240)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:767)
Caused by java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
at android.app.Activity.onCreate(Activity.java:986)
at android.support.v4.app.SupportActivity.onCreate(SupportActivity.java:66)
at android.support.v4.app.FragmentActivity.onCreate(FragmentActivity.java:285)
at com.facebook.FacebookActivity.onCreate(FacebookActivity.java:62)
at android.app.Activity.performCreate(Activity.java:6975)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1214)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2775)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2897)
at android.app.ActivityThread.-wrap11(Unknown Source)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1598)
at android.os.Handler.dispatchMessage(Handler.java:105)
at android.os.Looper.loop(Looper.java:251) …Run Code Online (Sandbox Code Playgroud) 我有一个活动,当设备在横向时从浏览器打开让我低于错误
java.lang.IllegalStateException: Only fullscreen opaque activities can request orientation
Run Code Online (Sandbox Code Playgroud)
表现
<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>
Run Code Online (Sandbox Code Playgroud)
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>
Run Code Online (Sandbox Code Playgroud)