Le titre dit tout. J'utilise un bouton personnalisé pour récupérer les informations Facebook de l'utilisateur (à des fins d'"inscription"). Cependant, je ne veux pas que l'application se souvienne du dernier utilisateur enregistré, ni de la personne actuellement connectée via l'application native de Facebook. Je veux que l'activité de connexion Facebook apparaisse à chaque fois. C'est pourquoi je veux déconnecter tous les utilisateurs précédents de manière programmatique.
Comment puis-je le faire ? C'est ainsi que je procède à la connexion :
private void signInWithFacebook() {
SessionTracker sessionTracker = new SessionTracker(getBaseContext(), new StatusCallback()
{
@Override
public void call(Session session, SessionState state, Exception exception) {
}
}, null, false);
String applicationId = Utility.getMetadataApplicationId(getBaseContext());
mCurrentSession = sessionTracker.getSession();
if (mCurrentSession == null || mCurrentSession.getState().isClosed()) {
sessionTracker.setSession(null);
Session session = new Session.Builder(getBaseContext()).setApplicationId(applicationId).build();
Session.setActiveSession(session);
mCurrentSession = session;
}
if (!mCurrentSession.isOpened()) {
Session.OpenRequest openRequest = null;
openRequest = new Session.OpenRequest(RegisterActivity.this);
if (openRequest != null) {
openRequest.setPermissions(null);
openRequest.setLoginBehavior(SessionLoginBehavior.SSO_WITH_FALLBACK);
mCurrentSession.openForRead(openRequest);
}
}else {
Request.executeMeRequestAsync(mCurrentSession, new Request.GraphUserCallback() {
@Override
public void onCompleted(GraphUser user, Response response) {
fillProfileWithFacebook( user );
}
});
}
}
L'idéal serait de faire un appel au début de cette méthode pour déconnecter tous les utilisateurs précédents.