Facebook registerCallBack method not initiated
<p>I'm using the following code for fetching Facebook user details through my Android application.</p>

<pre><code> callbackManager = CallbackManager.Factory.create();

 fb = (Button) findViewById(R.id.fb);
 loginButton = (LoginButton) findViewById(R.id.login_button);

  List &lt; String &gt; permissionNeeds = Arrays.asList("user_photos", "email",
   "user_birthday", "public_profile", "AccessToken");
  loginButton.registerCallback(callbackManager,
  new FacebookCallback &lt; LoginResult &gt; () {@Override
      public void onSuccess(LoginResult loginResult) {

    System.out.println("onSuccess");

    String accessToken = loginResult.getAccessToken()
        .getToken();
    Log.i("accessToken", accessToken);

    GraphRequest request = GraphRequest.newMeRequest(
    loginResult.getAccessToken(),
    new GraphRequest.GraphJSONObjectCallback() {@Override
        public void onCompleted(JSONObject object,
        GraphResponse response) {

            Log.i("LoginActivity",
            response.toString());
            try {
                id = object.getString("id");
                try {

                    Log.i("profile_pic",
                    profile_pic + "");

                } catch (MalformedURLException e) {
                    e.printStackTrace();
                }
                name = object.getString("name");
                email = object.getString("email");
                gender = object.getString("gender");
                birthday = object.getString("birthday");
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }
    });
    Bundle parameters = new Bundle();
    parameters.putString("fields",
        "id,name,email,gender, birthday");
    request.setParameters(parameters);
    request.executeAsync();
}

@Override
public void onCancel() {
    System.out.println("onCancel");
}

@Override
public void onError(FacebookException exception) {
    System.out.println("onError");
    Log.v("LoginActivity", exception.getCause().toString());
}
   });


@Override
protected void onActivityResult
  (int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    callbackManager.onActivityResult(requestCode, resultCode, data);
    Log.i("onActivityResult", "onActivityResult");
}
</code></pre>

<p>Here, the log inside the onActivityResult is printed, while the <code>loginButton.registerCallback(callbackManager, new FacebookCallback&lt;LoginResult&gt;()</code> is not at all initiated. None of the logs inside this method is printed.
What is the problem?</p>