0

我正在尝试使用 facebook 登录,但我遇到了问题。

当我按下按钮时,facebook 默认登录活动打开。当我按下返回时,它会返回到活动。我可以尝试再次登录,但是当我将方向切换到横向并返回时,应用程序会因此错误而崩溃

11-15 09:48:48.249:E/AndroidRuntime(32063):致命异常:主要 11-15 09:48:48.249:E/AndroidRuntime(32063):java.lang.RuntimeException:无法恢复活动 {org.eucila .activity/com.facebook.LoginActivity}:java.lang.NullPointerException 11-15 09:48:48.249:E/AndroidRuntime(32063):在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2790) 11-15 09 :48:48.249: E/AndroidRuntime(32063): 在 android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2819) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.ActivityThread。 handleLaunchActivity(ActivityThread.java:2266) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3740) 11-15 09:48:48.249: E/ AndroidRuntime(32063): 在 android.app.ActivityThread.access$700(ActivityThread.java:141) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) 11-15 09:48:48.249: E/AndroidRuntime(32063) : 在 android.os.Handler.dispatchMessage(Handler.java:99) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.os.Looper.loop(Looper.java:137) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.ActivityThread.main(ActivityThread.java:5103) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 java.lang.reflect .Method.invokeNative(Native Method) 11-15 09:48:48.249: E/AndroidRuntime(32063): at java.lang.reflect.Method.invoke(Method.java:525) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 com.android.internal .os.ZygoteInit。main(ZygoteInit.java:553) 11-15 09:48:48.249: E/AndroidRuntime(32063): at dalvik.system.NativeStart.main(Native Method) 11-15 09:48:48.249: E/AndroidRuntime(32063) ): 由: java.lang.NullPointerException 11-15 09:48:48.249: E/AndroidRuntime(32063): at com.facebook.AuthorizationClient.startOrContinueAuth(AuthorizationClient.java:135) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 com.facebook.LoginActivity.onResume(LoginActivity.java:117) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.Instrumentation.callActivityOnResume(Instrumentation.java :1192) 11-15 09:48:48.249: E/AndroidRuntime(32063): 在 android.app.Activity.performResume(Activity.java:5211) 11-15 09:48:48.249: E/AndroidRuntime(32063):在 android.app.ActivityThread.performResumeActivity(ActivityThread.java:2780) 11-15 09:48:48.249: E/AndroidRuntime(32063):... 13 更多

我已经挖了北斗,似乎在你回去之后, LoginActivity - onResume 被调用并调用 AuthorizationClient 方法

   void startOrContinueAuth(AuthorizationRequest request) {
            if (appEventsLogger == null || appEventsLogger.getApplicationId() !=  request.getApplicationId()) {
                 appEventsLogger = AppEventsLogger.newLogger(context, request.getApplicationId());
           }

            if (getInProgress()) {
                continueAuth();
            } else {
                authorize(request);
            }
        }

此方法获取 request = null,当然应用程序无法继续。现在我读到这个错误应该被修复,但它不是。所以我想知道有什么解决方案,我什至不能强制这个 loginACtivity 为纵向模式,因为它的方向仍然会切换。我正在使用 Facebook SDK 3.5.2

谢谢您的帮助

4

1 回答 1

0

我刚刚尝试过这个developers.facebook.com/docs/android 它似乎解决了这个问题,登录活动现在被锁定在纵向模式,当你回来时不会发生崩溃:)

于 2013-12-11T08:38:38.290 回答