Search code examples
androidfacebookfacebook-graph-apifacebook-android-sdk

How to replace Facebook Android SDK replace Session.OpenRequest


I found Facebook Android SDK has deprecated its class Session in its 4.x version. What class or method I should use to replace Session.OpenRequest? Thanks.


Solution

  • The classes you need to look into are CallbackManager and LoginManager (and also AccessToken). I replaced my old Session.OpenRequest code with something akin to the following, it may be helpful as a starting point:

     FacebookSdk.sdkInitialize(getApplicationContext());
        m_CallbackManager = CallbackManager.Factory.create();
        LoginManager.getInstance().registerCallback(m_CallbackManager,
            new FacebookCallback<LoginResult>() {
              @Override
              public void onSuccess(LoginResult loginResult) {
                completeLogin();
              }
    
              @Override
              public void onCancel() {
                // TODO: this
    
              }
    
              @Override
              public void onError(FacebookException exception) {
                // TODO: this
              }
            });
    
        LoginManager.getInstance().logInWithReadPermissions(this, Arrays.asList("public_profile", "user_friends"));