几天前,我在我的应用程序中实现了 FB Login,今天我发现我实现的大部分内容现在都已弃用。
之前我用的是Session
查看用户是否已登录。但是,这不适用于新的 SDK。
根据他们的文档,我们可以使用AccessToken.getCurrentAccessToken()
and Profile.getCurrentProfile()
检查用户是否已经登录,但我无法使用它们。
我尝试过这样的事情:
if(AccessToken.getCurrentAccessToken() == null)
我想知道如果我可以在其中使用它(这也是由 FB 提供的),这是否可行:
LoginManager.getInstance().registerCallback(callbackManager, new LoginManager.Callback() {...});
但是,我得到了“无法解析符号‘回调’”。
编辑!!!!!!
好的,所以我可以使用以下命令检查用户是否已登录:
在 onCreate 上:
accessTokenTracker = new AccessTokenTracker() {
@Override
protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
updateWithToken(newAccessToken);
}
};
然后,这就是我的updateWithToken
method:
private void updateWithToken(AccessToken currentAccessToken) {
if (currentAccessToken != null) {
LOAD ACTIVITY A!
} else {
LOAD ACTIVITY B!
}
}
现在的问题是:如果用户使用过该应用程序并且之前登录过,我可以检查一下!但如果用户是第一次使用该应用程序,updateWithToken
我的 AccessTokenTracker 从未调用过。
如果有人可以提供帮助,我将非常感激。
Thanks!