Search code examples
androidfacebookfacebook-sdk-3.0

Facebook SDK - LoginActivity - null pointer exception ANDROID


I am trying to make a login with facebook, and i have the problem.

When i press the button, facebook default login activity opens. When i press back, it goes back to the activity. I can try to login again, but when i switch orientation to landscape and go back, application crashes with this bug

11-15 09:48:48.249: E/AndroidRuntime(32063): FATAL EXCEPTION: main 11-15 09:48:48.249: E/AndroidRuntime(32063): java.lang.RuntimeException: Unable to resume activity {org.eucila.activity/com.facebook.LoginActivity}: java.lang.NullPointerException 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2790) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.handleResumeActivity(ActivityThread.java:2819) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2266) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.handleRelaunchActivity(ActivityThread.java:3740) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.access$700(ActivityThread.java:141) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1262) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.os.Handler.dispatchMessage(Handler.java:99) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.os.Looper.loop(Looper.java:137) 11-15 09:48:48.249: E/AndroidRuntime(32063): at 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): Caused by: 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): at android.app.Instrumentation.callActivityOnResume(Instrumentation.java:1192) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.Activity.performResume(Activity.java:5211) 11-15 09:48:48.249: E/AndroidRuntime(32063): at android.app.ActivityThread.performResumeActivity(ActivityThread.java:2780) 11-15 09:48:48.249: E/AndroidRuntime(32063): ... 13 more

I have digged dipper, and it seems that after u go back, LoginActivity - onResume is called and that calls AuthorizationClient method

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

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

This method gets request = null, and ofcourse application cannot continue. Now i ve read that this bug should of been fixed, but it isnt. So i wonder are there any solution to this, i cant even force this loginACtivity to be portrait mode, since its orientation still switches. I am using facebook SDK 3.5.2

Thank you for your help


Solution

  • I have just tried this developers.facebook.com/docs/android It seems it fixes the issue, the login activity is now locked in portrait mode and when u come back the crash doesnt happen :)