首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Facebook SDK 4 for Android -如何以编程方式注销

Facebook SDK 4 for Android -如何以编程方式注销
EN

Stack Overflow用户
提问于 2015-03-28 00:10:54
回答 6查看 94K关注 0票数 118

最近,Facebook发布了SDK4,新的和酷的更新。我试图切换到SDK4来使用新的功能,然而,我正在努力使用Facebook的登录功能。

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

代码语言:javascript
复制
Session session = Session.getActiveSession();
session.closeAndClearTokenInformation();

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

在安卓上实现Facebook登录有两种方式:

LoginButton类-它提供了一个可以添加到UI中的按钮。它遵循当前的访问令牌,可以让用户登录和注销。

好吧,除了使用LoginButton之外,似乎没有办法以编程方式注销Facebook。任何人有任何想法,请在这里分享。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2015-04-10 18:22:20

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

此UI元素包装了LoginManager中提供的功能。

EDIT:只想提一下,它适用于Facebook SDK v4。我不知道他们将来会不会改变它。

@ batoutofhell提到,别忘了放FacebookSdk.sdkInitialize(getApplicationContext());来初始化facebook sdk。详情请参考here

票数 287
EN

Stack Overflow用户

发布于 2015-09-09 17:37:06

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

代码语言:javascript
复制
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();
}
票数 67
EN

Stack Overflow用户

发布于 2015-03-28 01:14:02

票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29305232

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档