使用LoginButton收听Facebook注销. (4.1) [英] Listen for Facebook logout with the LoginButton. (4.1)

查看:96
本文介绍了使用LoginButton收听Facebook注销. (4.1)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在阅读,尚未找到解决方案.这样吧.

I've been reading and haven't found a solution yet. So here goes.

我正在尝试升级到Facebook的新SDK 4.1 Android SDK.我可以使用以下代码使用Facebook的LoginButton成功登录用户:facebookLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>()....

I'm trying to upgrade to Facebook's new SDK 4.1 Android SDK. I can successfully log in a user using the Facebook's LoginButton using this code: facebookLogin.registerCallback(callbackManager, new FacebookCallback<LoginResult>()....

用户登录后,我想知道用户何时使用相同的按钮登录.用户登录后,登录按钮更改为注销".我想知道的是,我如何才能监听到LoginButton的成功注销? (我知道LoginManager.getInstance().logOut();可以注销用户.但是,我要寻找的是某种可以相应处理的callBack.)

Once a user is logged in, I want to know when a user logs using the same button. The login button changes to say "Log out" when a user is logged in. What I want to know, is how can I listen for a successful log out from the LoginButton? ( I know thatLoginManager.getInstance().logOut(); can log a user out. But what I'm looking for is some sort of callBack which I can handle accordingly.)

推荐答案

引用Facebook SDK 升级从4.0.1到4.1.0的Android SDK 文档:替换类-会话和UserSettingsFragment已被删除,并由LoginManager和AccessToken类替换.LoginActivity被FacebookActivity替换."

Quoting the Facebook SDK Upgrading the Android SDK from 4.0.1 to 4.1.0 docs: "Replacement Classes - Session and UserSettingsFragment have been removed and replaced by the LoginManager and AccessToken classes. LoginActivity is replaced by FacebookActivity."

由于我想模仿旧的Sessions更改的侦听器逻辑,因此我进一步研究了AccessTokenTracker.这是我解决问题的方法.我仍然使用Facebook的LoginButton登出用户,但是我还包括了它来侦听对null令牌的更改.表示用户已注销.

Because I wanted to mimic the old Sessions changed listener logic, I looked further into the AccessTokenTracker. Here's how I solved my problem. I still use Facebook's LoginButton to Log out the user, but I also include this to listen for a change to a null token. Meaning the user logged out.

private AccessTokenTracker fbTracker;
    ...
    fbTracker = new AccessTokenTracker() {
                @Override
                protected void onCurrentAccessTokenChanged(AccessToken accessToken, AccessToken accessToken2) {
                    if (accessToken2 == null) {
                        Log.d("FB", "User Logged Out.");
                    }
                }
            };

希望这对以后的人有帮助.

Hope this helps others in the future.

这篇关于使用LoginButton收听Facebook注销. (4.1)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆