facebook + android : Only fullscreen opaque activities can request orientation

混江龙づ霸主 提交于 2020-01-09 19:36:28

问题


Facebook SDK version 4.27.0

Android OS version 8.0

App crashes with exception, this is the trace log I have found over 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)
       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)

Can anyone help me with this ?

PS: In Android Source, after looking at this line number 987, it seems that this line is the culprit.

https://android.googlesource.com/platform/frameworks/base.git/+/master/core/java/android/app/Activity.java#1002

Also, in my manifest:

<activity
    android:name="com.facebook.FacebookActivity"
    android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name"
    android:screenOrientation="portrait" />

回答1:


Removing this attribute:

android:screenOrientation="portrait"

from FacebookActivity tag, may solve the problem.




回答2:


When i removed this <item name="android:windowIsTranslucent">true</item> from style problem was solved.




回答3:


From the latest fb integration guide, we don't need to specify either theme or orientation that is causing crash on android 8.0 . So we should use latest fb sdk with their new settings:

<activity android:name="com.facebook.FacebookActivity"
    android:configChanges=
            "keyboard|keyboardHidden|screenLayout|screenSize|orientation"
    android:label="@string/app_name" />

https://developers.facebook.com/docs/facebook-login/android/#manifest




回答4:


remove this line from your style menu

  <item name="android:windowIsTranslucent">true</item>



回答5:


Changed

<style name="AppTheme" parent="android:Theme.Translucent.NoTitleBar"></style>`

to

 <style name="AppTheme" parent="android:Theme.Holo.NoActionBar.TranslucentDecor"></style>

then remove

<item name="android:windowIsTranslucent">true</item>


来源:https://stackoverflow.com/questions/47093127/facebook-android-only-fullscreen-opaque-activities-can-request-orientation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!