【问题标题】:Clear Facebook session清除 Facebook 会话
【发布时间】:2020-07-08 12:29:30
【问题描述】:

即使会话为真,我也会尝试清除这些值。所以我正在考虑清除会话。以下是我正在尝试的。

public boolean isSession() {
    sharedPrefs = PreferenceManager.getDefaultSharedPreferences(context);
    String access_token = sharedPrefs.getString("access_token", "x");
    Long expires = sharedPrefs.getLong("access_expires", -1);
    if (access_token != null && expires != -1) {
        facebook.setAccessToken(access_token);
        facebook.setAccessExpires(expires);
    }
    return facebook.isSessionValid();

如何清除此处的会话,以便在检查以下内容时返回 false?

public void getID() {
    if (isSession()) {

    }
}

【问题讨论】:

    标签: android facebook session


    【解决方案1】:
    com.facebook.Session session = com.facebook.Session.getActiveSession();
            if(session != null) session.closeAndClearTokenInformation();
    

    这对我来说很完美

    【讨论】:

      【解决方案2】:

      facebook.setAccessExpires(-1);

      facebook.setAccessToken(null);

      然后拨打isSessionValid()

      【讨论】:

      • 我试过了,此时它重新运行为假。但我想做的是,一旦返回 false,public void getID() { login(); } public void login() { if (!facebook.isSessionValid()) { facebook.authorize(this.activity, this.permissions, new LoginDialogListener()); } } 在这一点上,它不是要求我再次登录。不知何故,它正在使用以前存储的凭据
      猜你喜欢
      • 2011-08-05
      • 1970-01-01
      • 1970-01-01
      • 2013-02-27
      • 1970-01-01
      • 2015-12-26
      • 2010-12-05
      • 2015-04-16
      • 2011-10-02
      相关资源
      最近更新 更多