没有收到Session.StatusCallback

时间:2014-02-20 22:56:53

标签: android facebook-graph-api android-facebook

你好我试着用facebook登录。

我的问题是我没有收到回电。

这是我的代码:

private void onClickLogin() {

        Session currentSession = Session.getActiveSession();
        if (currentSession == null || currentSession.getState().isClosed()) {
            Session session = new Session.Builder(this).build();
            Session.setActiveSession(session);
            currentSession = session;
        }

        // Ask for username and password
        OpenRequest op = new Session.OpenRequest((Activity) this);

        op.setLoginBehavior(SessionLoginBehavior.SUPPRESS_SSO);
        op.setCallback(null);

        List<String> permissions = new ArrayList<String>();
        // permissions.add("publish_actions");
        permissions.add("user_photos");
        permissions.add("friends_photos");
        permissions.add("read_stream");
        permissions.add("read_insights");
        permissions.add("read_friendlists");
        permissions.add("email");
        permissions.add("publish_actions");

        op.setPermissions(permissions);

        Session session = new Session.Builder(this).build();
        Session.setActiveSession(session);
        session.openForPublish(op);
    }


@Override
    protected void onActivityResult(int requestCode, int resultCode,
            Intent data2) {

        Session.getActiveSession().onActivityResult(RegisterPage.this, requestCode, resultCode, data2);


    }

rivate class SessionStatusCallback implements Session.StatusCallback {

        @SuppressWarnings("deprecation")
        @Override
        public void call(final Session session, SessionState state,
                Exception exception) {

            Log.i("test", "test");
}

}

1 个答案:

答案 0 :(得分:0)

您需要注册回调。你应该做这样的事情

私有Session.StatusCallback statusCallback = new SessionStatusCallback();

.....

我在onStart方法

中注册我的回调

Session.getActiveSession()的addCallback(statusCallback);

我在onStop方法

中将其删除

Session.getActiveSession()removeCallback(statusCallback);

此致

迈克尔