>我使用此代码检查天气用户是否登录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;
}
但它不起作用。它只是转到黑色背景,然后立即返回我的应用程序。有人知道为什么吗?
谢谢。
我遇到了同样的问题,在很多地方打印出会话信息后,我发现我抛出了以下异常:
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);
}