Android facebook sdk não chama retorno de chamada após o login

Socorro,

Eu estou tentando fazer uma classe que lida com o login do facebook no meu aplicativo. Meu problema é que não funciona em todas as atividades. Nessa atividade, ele não chama o retorno de chamada. Após o login e autorizar a visualização da Web do aplicativo, o retorno de chamada não é acionado. o último estado que foi impresso no Logcat éABERTURA

Aqui está o meu código:

public void doLogin() {


        if ((Session.getActiveSession() == null || !Session.getActiveSession().isOpened())) {
            List<String> permissions = new ArrayList<String>();
            permissions.add("email");

            // start Facebook Login
            openActiveSession(activity, true, new Session.StatusCallback() {

                // callback when session changes state
                @Override
                public void call(Session session, SessionState state,
                        Exception exception) {

                    Log.d("Sessionstate", state.toString());
                    if (session.isOpened()) {
                        // make request to the /me API
                        Request.executeMeRequestAsync(session,
                                new Request.GraphUserCallback() {

                                    @Override
                                    public void onCompleted(GraphUser user,
                                            Response response) {
                                        if (prgCheckFB.isShowing())
                                            prgCheckFB.dismiss();
                                        if (user != null) {

                                            Log.e("facebookid", id);
                                            doSomething(user);



                                        }
                                    }
                                });

                    } 
                }, permissions); 
        }
    }



private static Session openActiveSession(Activity activity,
        boolean allowLoginUI, Session.StatusCallback callback,
        List<String> permissions) {
    Session.OpenRequest openRequest = new Session.OpenRequest(activity)
            .setPermissions(permissions).setCallback(callback);
    Session session = new Session.Builder(activity).build();
    if (SessionState.CREATED_TOKEN_LOADED.equals(session.getState())
            || allowLoginUI) {
        Session.setActiveSession(session);
        session.openForRead(openRequest);
        return session;
    }
    return null;
}

doSomething é uma função que salvará os dados do usuário em uma preferência compartilhada.

Há algo de errado? A função funciona em alguma atividade, mas não em todas as atividades.

Obrigado

questionAnswers(2)

yourAnswerToTheQuestion