2012-01-18 9 views
7

मैं इसके द्वारा बनाई गई कुकीज़ को हटाकर अपने ट्विटर खाते को लॉगआउट करना चाहता हूं। मैं कोड का उपयोग कर चहचहाना द्वारा बनाई कुकीज़ पुनर्प्राप्त करने में सक्षम हूँ:कुकीज को हटाकर ट्विटर खाते को कैसे लॉगआउट करें?

String twit_cookie = getCookie ("http://www.twitter.com"); 

लेकिन क्योंकि removeAllCookie() सभी ब्राउज़र द्वारा बनाई कुकीज़ को हटाता है मैं कैसे चहचहाना द्वारा बनाई केवल कुकीज़ हटा सकते हैं। मैं यूआरएल या नाम से विशिष्ट कुकी कैसे हटा सकता हूं ???

कृपया मदद करें ...

+3

चेकआउट यहाँ जवाब: http://stackoverflow.com/questions/2834180/how-to-remove-cookies-using-cookiemanager-for-a-specific-domain –

उत्तर

3

कुकी मैनेजर क्लास में एक विधि सेटकुकी है। आप इसे पसंद प्रयास किया है:

setCookie("http://www.twitter.com", null); 

या शायद

setCookie("http://www.twitter.com", "auth_token=''"); 
3

आप विधि CookieManager#setCookie(String url, String value) उपयोग कर सकते हैं। जैसा कि दस्तावेज़ों में बताया गया है:

दिए गए यूआरएल के लिए एक कुकी सेट करता है। एक ही होस्ट, पथ और नाम वाला कोई भी मौजूदा कुकी नई कुकी के साथ बदल दी जाएगी।

"स्पष्ट" तरीका ट्विटर द्वारा बनाई गई सभी कुकीज़ को समाप्त करने के लिए है (अतीत में एक समय)। this answer का कोड लगभग सही है, सिवाय इसके कि तिथि भविष्य में है।
संशोधित कोड:

final String domain = "http://www.twitter.com"; 
CookieSyncManager.createInstance(this); 
CookieManager cookieManager = CookieManager.getInstance(); 
String cookiestring = cookieManager.getCookie(domain); //get all cookies 
String[] cookies = cookiestring.split(";"); 
for (int i=0; i<cookies.length; i++) { 
    String[] cookieparts = cookies[i].split("="); //split cookie into name and value etc. 
    // set cookie to an expired date 
    cookieManager.setCookie(domain, cookieparts[0].trim()+"=; Expires=Wed, 31 Dec 2000 23:59:59 GMT"); 
} 
CookieSyncManager.getInstance().sync(); //sync the new cookies just to be sure 
+0

के बारे में क्या इस ? "सेट की जा रही कुकी का समय समाप्त नहीं होना चाहिए और सत्र कुकी नहीं होना चाहिए, अन्यथा इसे अनदेखा कर दिया जाएगा।" http://developer.android.com/reference/android/webkit/CookieManager.html#setCookie(java.lang.String, java.lang.String) – trante

+0

@trante [यह उत्तर] (http: // stackoverflow। कॉम/ए/11621738/2829009) कहता है कि दस्तावेज़ गलत हैं और यह समाप्त हो चुकी कुकीज़ के साथ काम करता है। यदि यह काम नहीं करता है, तो भविष्य में कुकीज़ को कुछ सेकंड में सेट करें, ताकि यह वैध हो लेकिन थोड़े समय के बाद समाप्त हो जाए। – Manu

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