I am trying to login with Facebook using the Facebook Android SDK, however, the status callback is fired only once with OPENING session state. After that, a Facebook login activity appears with no content (I know it's that activity as it has the title that I've set for title_facebook_login in strings.xml) for a brief moment and disappears within a second. No other callback is fired, no exceptions, no crashes. It just waits forever at my initial activity. Here is my code:
Session.openActiveSession(parent, true, new Session.StatusCallback() {
        @Override
        public void call(Session session, SessionState state, Exception exception) {
            if(state == SessionState.OPENED){
                String accessToken = session.getAccessToken();
            }
        }
    });
Why wouldn't the callback fire for SessionState.OPENED (or CREATED, or even CLOSED) but only OPENING?
You need to call onActivityResult
@Override
    protected void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        uiHelper.onActivityResult(requestCode, resultCode, data);
    }
So when login done . It comes to same activity and calls status callback with session state is opened
initialize UiLifecycleHelper
private UiLifecycleHelper uiHelper;
in oncreate need to call before setContentView
uiHelper = new UiLifecycleHelper(this, statusCallback);
        uiHelper.onCreate(savedInstanceState);
and need to maintain session in
    @Override
    protected void onResume() {
        super.onResume();
        uiHelper.onResume();
    }
    @Override
    protected void onPause() {
        super.onPause();
        uiHelper.onPause();
    }
    @Override
    protected void onDestroy() {
        super.onDestroy();
        uiHelper.onDestroy();
    }
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With