Несколько дней назад я внедрил FB Login в свой APP, и сегодня я узнал, что большинство из реализованных мной вещей теперь устарели.
Раньше я использовал Session
, чтобы узнать, вошел ли пользователь в систему или нет. Однако это не работает с новым SDK.
В соответствии с их документами мы можем использовать AccessToken.getCurrentAccessToken()
и 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
:
private void updateWithToken(AccessToken currentAccessToken) {
if (currentAccessToken != null) {
LOAD ACTIVITY A!
} else {
LOAD ACTIVITY B!
}
}
Теперь проблема заключается в следующем: если пользователь использовал приложение и ранее не регистрировался, я могу проверить это! Но если это первый раз, когда пользователь использует приложение, updateWithToken
никогда не вызывается моим AccessTokenTracker.
Я бы очень признателен, если кто-то может помочь.
Спасибо!