Android:检查会话facebook不起作用?

时间:2013-12-17 10:37:04

标签: android session login

我使用此代码检查天气用户是否登录facebook,如果没有,它将打开登录页面。我在facebook sdk(PlacePickerSample)上使用与示例相同的代码:

private boolean ensureOpenSession() {
    if (Session.getActiveSession() == null ||
            !Session.getActiveSession().isOpened()) {
        Session.openActiveSession(this, true, new Session.StatusCallback() {
            @Override
            public void call(Session session, SessionState state, Exception exception) {
                onSessionStateChanged(session, state, exception);
            }
        });
        return false;
    }
    return true;
}

但它不起作用。它只是去黑色背景然后立即返回我的应用程序。任何人都知道为什么?

感谢。

1 个答案:

答案 0 :(得分:0)

我有同样的问题,在许多地方打印出会话信息后,我发现我抛出了以下异常:

Session: an attempt was made to reauthorize a session that has a pending request

解决方案是将以下方法放在调用ensureOpenSession的代码中:

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
   Session.getActiveSession().onActivityResult(this, requestCode, resultCode, data);
}