我使用此代码检查天气用户是否登录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;
}
但它不起作用。它只是去黑色背景然后立即返回我的应用程序。任何人都知道为什么?
感谢。
答案 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);
}