我第一次可以正常登录。我有一个选项,用户可以在 android 应用程序中禁用 facebook。选择此选项后,Facebook 状态变为关闭。当我再次使用该选项时,重新登录 API 在回调函数中的 OPENING 处挂起。
根据我发现第一个调用使用的示例
session.openForRead(new Session.OpenRequest(activity).setCallback(statusCallback));
和第二种用途
Session.openActiveSession(activity, true, statusCallback);
回调函数如下所示:
private static class SessionStatusCallback implements Session.StatusCallback {
// callback when session changes state
@Override
public void call(Session session, SessionState state, Exception exception) {
if (session.isOpened()) {
// make request to the /me API
Request.executeMeRequestAsync(session, new Request.GraphUserCallback() {
// callback after Graph API response with user object
@Override
public void onCompleted(GraphUser user, Response response) {
if (user != null) {
GlobalVars.setUser(user.getName());
SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(GlobalVars.getContext());
Editor editor = prefs.edit();
editor.putBoolean("facebook", true);
editor.commit();
System.out.println("facebook logged in");
}
}
});
}
System.out.println("facebook session state callback " + session.getState().toString());
}
}