如何使用Facebook Android API v4检测注销事件?
我在这里发帖是因为我有问题。 我正在开发一个新的android应用程序,我想知道如何检测用户何时断开连接(facebook注销按钮),因为我现在想刷新我的UI如何使用Facebook Android API v4检测注销事件?,android,facebook,facebook-login,facebook-android-sdk,facebook-access-token,Android,Facebook,Facebook Login,Facebook Android Sdk,Facebook Access Token,我在这里发帖是因为我有问题。 我正在开发一个新的android应用程序,我想知道如何检测用户何时断开连接(facebook注销按钮),因为我现在想刷新我的UI 我已经查看了官方文档,但没有发现任何内容。您可以在活动的onCreate()方法上设置侦听器 AccessTokenTracker accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccess
我已经查看了官方文档,但没有发现任何内容。您可以在活动的
onCreate()
方法上设置侦听器
AccessTokenTracker accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(
AccessToken oldAccessToken,
AccessToken currentAccessToken) {
if (currentAccessToken == null){
//User logged out
}
}
};
您需要导入com.facebook.AccessToken
和com.facebook.AccessTokenTracker
创建AccessTokenTracker实例时,它隐式地开始跟踪。对于停止跟踪,您应该调用AccessTokenTracker.stopTracking()
例如在onDestroy()
中,以便在不需要/想要时不再接收事件,尤其是不泄漏内存
如果用户通过呼叫登录/注销,您可以获得任何时间
AccessToken at = AccessToken.getCurrentAccessToken();
如果用户未登录,则会得到一个null
值
如需进一步参考,请查看位于的文档。您也可以尝试此操作
if(AccessToken.getCurrentAccessToken()!=null)
{
Log.v("User is login","YES");
}
else
{
Log.v("User is not login","OK");
LoginManager.getInstance().logInWithReadPermissions(WelcomeActivity1.this, (Arrays.asList("public_profile", "user_friends","user_birthday","user_about_me","email")));
}
它还可以导入调用
AccessTokenTracker.stopTracking()
例如在onDestroy()
中停止接收事件,例如在已销毁的活动中!这并不能真正回答问题中基于事件的部分,因为您必须使用此代码进行投票。对于注销/登录回调,请使用@Nicolás Arias answer。