Wenn deine App den aktuellen Zugriffsschlüssel und das Profil nachverfolgen soll, kannst du die Klassen AccessTokenTracker
und ProfileTracker
implementieren.
Diese Klassen rufen deinen Code auf, wenn ein Zugriffsschlüssel oder ein Profil geändert wird. Sie verwenden interne Empfänger, du musst also stopTracking()
für eine Aktivität oder die onDestroy()
-Methode eines Fragments aufrufen.
So verwendest du beispielsweise den AccessTokenTracker
anstelle eines Anmelde-Rückrufs:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged( AccessToken oldAccessToken, AccessToken currentAccessToken) { // Set the access token using // currentAccessToken when it's loaded or set. } }; // If the access token is available already assign it. accessToken = AccessToken.getCurrentAccessToken(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); accessTokenTracker.stopTracking(); }
Du kannst den ProfileTracker
auf ähnliche Weise verwenden, um Änderungen im aktuellen Profil nachzuverfolgen:
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); profileTracker = new ProfileTracker() { @Override protected void onCurrentProfileChanged( Profile oldProfile, Profile currentProfile) { // App code } }; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); profileTracker.stopTracking(); }