2012-10-25 17 views
5

फेसबुक एसडीके के पिछले संस्करणों में हम जांच सकते हैं कि टोकन का उपयोग करके उपयोगकर्ता अभी भी साइन इन है या नहीं। नए 3.0 संस्करण में मुझे openSession() का आविष्कार करने के अलावा अन्य कोई अन्य तरीका नहीं मिल सकता है यह जांचने के लिए कि उपयोगकर्ता अभी भी SSO के साथ लॉग इन है या नहीं। लेकिन openSession() स्वचालित रूप से लॉगिन को आमंत्रित करता है यदि उपयोगकर्ता सहेजा नहीं गया है और मुझे वह नहीं चाहिए। मैं केवल एसएसओ जांचना चाहता हूं। मैं यह कैसे करु?फेसबुक एंड्रॉइड एसडीके 3.0 एसएसओ

+0

मैं यह भी जरूरत है। इसे नहीं मिला WTF? –

+2

एक बार सत्र बनाने के बाद, आप session.getState को कॉल करके सत्र ऑब्जेक्ट की स्थिति देख सकते हैं, और यदि राज्य CREATED_TOKEN_LOADED स्थिति में है, तो इसका मतलब है कि सहेजे गए और वैध टोकन हैं, और आप बिना किसी के सीधे() को कॉल कर सकते हैं उपयोगकर्ता संपर्क। –

+4

वैकल्पिक रूप से, आप सत्र.ऑपेनएक्टिव सत्र (संदर्भ संदर्भ) को कॉल कर सकते हैं, जो javadocs के अनुसार, केवल सत्र खोल देगा यदि उसे उपयोगकर्ता इंटरैक्शन की आवश्यकता नहीं है। –

उत्तर

8

मैं अपने अनुप्रयोग में मेरे लिए यह है कि यदि उपयोगकर्ता अभी भी में लॉग इन (या वास्तव में एक सक्रिय सत्र है) है की जाँच करने के लिए एक सहायक समारोह बनाया:

public static boolean isActive() { 
    Session session = Session.getActiveSession(); 
    if (session == null) { 
     return false; 
    } 
    return session.isOpened(); 
} 
+0

का उपयोग करेंगे, यह मेरे लिए काम नहीं करता है, मैं "{सत्र स्थिति: बंद, टोकन: {एक्सेस टोकन टोकन: ACCESS_TOKEN_REMOVED अनुमतियां: []}, ऐपआईडी: 234242323423434}" सत्र में – Nativ

+0

I कुछ लोगों को इसके साथ समस्या हो सकती है। सबसे पहले यह सुनिश्चित करें कि आपकी कुंजी एफबी ऐप में सही हैं। मुझे इसके साथ कुछ समस्या याद है। मेरा वर्तमान प्रवाह जो मेरे लिए काम करता है वह है 1. जांच निष्क्रिय है(); नहीं? 2. ओपन सत्र() कॉल करें 3. अगर त्रुटि और सत्र! = शून्य -> ​​session.closeAndClearTokenInformation(); –

+0

आप किस परिदृश्य में openActiveSessionFromCache –

3

वैकल्पिक रूप से, आप Session.openActiveSession (संदर्भ संदर्भ) है, जो javadocs के अनुसार, केवल सत्र खुल जाएगा कॉल कर सकते हैं अगर यह उपयोगकर्ता संपर्क की आवश्यकता नहीं है। - मिंग ली

संबंधित मुद्दे