使用LoginButton收听Facebook注销. (4.1) [英] Listen for Facebook logout with the LoginButton. (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屋!