शीर्षक ही सब कुछ कह देता है। मैं उपयोगकर्ता की फ़ेसबुक सूचना ("साइन अप" उद्देश्यों के लिए) लाने के लिए एक कस्टम बटन का उपयोग कर रहा हूँ। फिर भी, मैं नहीं चाहता कि ऐप अंतिम पंजीकृत उपयोगकर्ता को याद रखे और न ही वर्तमान में फेसबुक देशी ऐप के माध्यम से व्यक्ति को लॉग इन किया जाए। मैं चाहता हूं कि फेसबुक लॉगिन गतिविधि हर बार पॉप अप हो। यही कारण है कि मैं किसी भी पिछले उपयोगकर्ताओं को प्रोग्रामेटिक रूप से लॉग आउट करना चाहता हूं।
मैं उसे कैसे कर सकता हूँ? इस तरह से मैं लॉगिन करता हूं:
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 );
}
});
}
}
आदर्श रूप में, मैं किसी भी पिछले उपयोगकर्ताओं को लॉग आउट करने के लिए इस पद्धति की शुरुआत में एक कॉल करूंगा।