3

我第一次可以正常登录。我有一个选项,用户可以在 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());
    }
}
4

1 回答 1

8

我不确定我们是否有确切的问题,但我的 facebook 会话状态在Session.openActiveSession(activity, true, statusCallback);. 我已经覆盖了onActivityResult()我的片段内部。我为解决这个问题所做的就是在我的 Activity 上覆盖该方法。

相关答案:https ://stackoverflow.com/a/13888652/782870

于 2013-04-03T04:11:15.917 回答