Si vous souhaitez que votre app conserve le token d’accès et le profil actuels, vous pouvez implémenter les classes AccessTokenTracker
et ProfileTracker
.
Ces classes appellent votre code en cas de modification du token d’accès ou du profil. Elles utilisent des récepteurs internes. Vous devez donc appeler stopTracking()
sur une activité ou appeler la méthode onDestroy()
d’un fragment.
Par exemple, afin d’utiliser AccessTokenTracker
au lieu d’un rappel de connexion :
@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(); }
Vous pouvez utiliser ProfileTracker
de façon similaire pour suivre les modifications apportées au profil actuel :
@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(); }