0

我正在使用 Facebook 登录按钮将 Facebook 登录集成到我的应用程序中。

  1. 当我按下 Facebook 登录按钮时,它会验证我的凭据,如果成功完成,然后在我的应用程序中将文本更改为 Log Out & Go。

  2. 现在,当我使用应用程序并退出应用程序时,当我再次返回登录屏幕时。在这里我看到注销 - 因为我之前验证了自己并且我没有注销。

  3. 所以我的问题是如何区分我已经登录或会话过期?

这是我正在使用的代码:

LoginButton authButton;

authButton = (LoginButton) findViewById(R.id.authButton);
// set permission list, Don't forget to add email

authButton.setReadPermissions(Arrays.asList("basic_info", "email"));

authButton.setSessionStatusCallback(new Session.StatusCallback() {

        @Override
        public void call(Session session, SessionState state,
                Exception exception) {

            authButton.setReadPermissions(Arrays.asList("basic_info",
                    "email"));
            System.out.println("Inside Call");
            if (session.isOpened()) {
                fbToken = session.getAccessToken();


                                }

                            }
                        });

.....................................

非常感谢您提前。

问候, 拉克什

4

1 回答 1

0

您可以使用 Session.getActiveSession() 获取会话,然后侦听会话更改事件

Session session = Session.getActiveSession();
if (session != null && (session.isOpened() || session.isClosed()) ) {
    onSessionStateChange(session, session.getState(), null);
}

然后检查会话状态:

private void onSessionStateChange(Session session, SessionState state, Exception exception) {
   if (state.isOpened()) {
       Log.i("Logged", "Logged in...");
   }else if (state.isClosed()) {
       Log.i("Logged", "Logged out...");
   }
}
于 2013-07-25T11:08:55.573 回答