Wie überprüfe ich, ob der Benutzer mit FB SDK 4.0 für Android angemeldet ist?

Vor ein paar Tagen habe ich FB Login in meine APP implementiert und heute habe ich herausgefunden, dass die meisten Dinge, die ich implementiert habe, jetzt veraltet sind.

Vorher habe ich @ benutSession, um zu sehen, ob der Benutzer angemeldet war oder nicht. Mit dem neuen SDK funktioniert dies jedoch nicht.

ntsprechend ihren Dokumenten können wir @ verwendAccessToken.getCurrentAccessToken() undProfile.getCurrentProfile(), um zu überprüfen, ob der Benutzer bereits angemeldet ist, ich diese jedoch nicht verwenden konnte.

Ich habe so etwas ausprobiert:

if(AccessToken.getCurrentAccessToken() == null)

Ich frage mich, ob das funktionieren würde, wenn ich es innerhalb dieses (der auch von FB bereitgestellt wird) verwenden könnte:

LoginManager.getInstance().registerCallback(callbackManager, new LoginManager.Callback() {...});

Allerdings bekomme ich ein "Symbol 'Rückruf' kann nicht aufgelöst werden.

BEARBEITEN!!!!!

Okay, daher konnte ich mit den folgenden Methoden überprüfen, ob der Benutzer angemeldet ist:

On onCreate:

accessTokenTracker = new AccessTokenTracker() {
        @Override
        protected void onCurrentAccessTokenChanged(AccessToken oldAccessToken, AccessToken newAccessToken) {
            updateWithToken(newAccessToken);
        }
    };

Then, das ruft meineupdateWithToken Methode

private void updateWithToken(AccessToken currentAccessToken) {
    if (currentAccessToken != null) {

            LOAD ACTIVITY A!

    } else {

            LOAD ACTIVITY B!
    }
}

Nun, das Problem ist: Wenn der Benutzer die Anwendung verwendet und sich noch nicht angemeldet hat, kann ich das überprüfen! Aber wenn es das erste Mal ist, dass der Benutzer die App verwendet,upda,teWithToken wird von meinem AccessTokenTracker nie aufgerufen.

Ich würde mich sehr freuen, wenn jemand helfen könnte.

Vielen Dank

Antworten auf die Frage(12)

Ihre Antwort auf die Frage