Facebook SDK - LoginActivity - 空指针异常ANDROID

时间:2013-11-15 08:56:42

标签: android facebook facebook-sdk-3.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):at 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):at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:737) 11-15 09:48:48.249:E / AndroidRuntime(32063):at 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):at 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,并且当前应用程序无法继续。现在我已经读过这个bug应该被修复,但它不是。所以我想知道是否有任何解决方案,我甚至不能强迫这个loginACtivity为纵向模式,因为它的方向仍然切换。 我使用的是facebook SDK 3.5.2

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

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