yon*_*nix 6 android facebook facebook-login facebook-sdk-4.x
由于我们使用更新的Facebook SDK部署了新版本的Android应用程序,因此我们发现许多用户在Facebook登录时崩溃.它不会在我们的设备上重现.
崩溃和堆栈跟踪:
Caused by android.content.ActivityNotFoundException
Unable to find explicit activity class {<our_app_id>/com.facebook.e}; have you declared this activity in your AndroidManifest.xml?
android.app.Instrumentation.checkStartActivityResult (Instrumentation.java:1850)
android.support.v4.app.Fragment.startActivityForResult (Fragment.java:916)
com.facebook.login.CustomTabLoginMethodHandler.tryAuthorize (CustomTabLoginMethodHandler.java:102)
com.facebook.login.LoginClient.tryCurrentHandler (LoginClient.java:255)
com.facebook.login.LoginClient.tryNextHandler (LoginClient.java:217)
com.facebook.login.LoginClient.authorize (LoginClient.java:122)
com.facebook.login.LoginClient.startOrContinueAuth (LoginClient.java:103)
com.facebook.login.LoginFragment.onResume (LoginFragment.java:154)
android.support.v4.app.Fragment.performResume (Fragment.java:2308)
com.android.internal.os.ZygoteInit.main (ZygoteInit.java:832)
Run Code Online (Sandbox Code Playgroud)
什么可能导致崩溃的想法以及如何解决?
===编辑===
请注意,只有部分用户崩溃,并且在本地测试时,我们似乎可以毫无问题地登录.
我们在官方文档中推荐的清单中定义了Facebook活动:
<activity
android:name="com.facebook.FacebookActivity"
android:configChanges="keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:label="@string/app_name"/>
<activity
android:name="com.facebook.CustomTabActivity"
android:exported="true">
<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:scheme="@string/fb_login_protocol_scheme"/>
</intent-filter>
</activity>
<meta-data
android:name="com.facebook.sdk.ApplicationId"
android:value="@string/facebook_app_id"/>
Run Code Online (Sandbox Code Playgroud)
从 stacktrace 和Facebook SDK 来源来看,这似乎com.facebook.e是com.facebook.CustomTabMainActivity. 我不知道 Facebook SDK 在什么情况下调用它,Activity但如果调用它,那么它应该在AndroidManifest.xml.
由于它没有在您的清单中定义,因此不会被混淆。
根据此链接,您的清单中缺少的部分是:
<activity
android:name="com.facebook.CustomTabMainActivity"
android:exported="true">
</activity>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
315 次 |
| 最近记录: |