面向Android的Facebook SDK 4 - 如何以编程方式注销?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (23)

最近,Facebook发布了新的和酷的更新SDK 4。我试图切换到SDK4使用新功能,但是,我正在努力与Facebook的登录功能。

到目前为止,要以编程方式注销Facebook,我使用了:

Session session = Session.getActiveSession();
session.closeAndClearTokenInformation();

但SDK4似乎不再支持Session,在官方文档中,他们提到:

在Android上实现Facebook登录有两种方式: LoginButton类 - 它提供了一个你可以添加到你的UI的按钮。它遵循当前的访问令牌,并可以登录和注销人员。

好吧,似乎没有办法以编程方式注销Facebook,除非使用LoginButton。

提问于
用户回答回答于

你可以使用LoginManager.getInstance().logOut();,即使你使用LoginButton因为

这个UI元素包装了LoginManager中可用的功能。

编辑: 只要提到这适用于Facebook SDK v4。我不知道他们将来是否会改变它。

用户回答回答于

SDK4,如果你想完全解除连接,请确保你也从用户的Facebook帐户中删除应用程序。此方法完全断开用户的连接:

public void disconnectFromFacebook() {

    if (AccessToken.getCurrentAccessToken() == null) {
        return; // already logged out
    }

    new GraphRequest(AccessToken.getCurrentAccessToken(), "/me/permissions/", null, HttpMethod.DELETE, new GraphRequest
            .Callback() {
        @Override
        public void onCompleted(GraphResponse graphResponse) {

            LoginManager.getInstance().logOut();

        }
    }).executeAsync();
}

扫码关注云+社区