जब मैं नई गतिविधि मंशा शुरू करता हूं तो मैं बैकस्टैक साफ़ करना चाहता हूं।किसी कार्य के बैकस्टैक को साफ़ करने और केवल नई गतिविधि को छोड़ने के लिए कैसे?
मेरी समस्या का सटीक केस निम्नलिखित प्रकार है: मैं इस A> B> C> डी तरह की गतिविधियों> ई "ए" एक पंजीकरण गतिविधि और "ख" एक की पुष्टि पंजीकरण गतिविधि है। मैं चाहता हूं कि जब उपयोगकर्ता गतिविधि "बी" शुरू करे कि वह अब "ए" गतिविधि पर वापस नहीं आ सकता है, तब भी जब उपयोगकर्ता गतिविधि "सी" तक पहुंच जाता है, तो गतिविधि "ए" और "बी" दोनों बेकार होंगी, मुझे इसकी आवश्यकता नहीं है उपयोगकर्ता अब उन्हें वापस।
जब उपयोगकर्ता "सी" से "डी" गतिविधि में जाता है, तो वह "सी" पर वापस जा सकता है लेकिन यदि वह आगे "ई" गतिविधि में आगे बढ़ता है, तो वह पिछले किसी भी "सी" पर वापस नहीं जा सकता "या" डी "गतिविधियों।
अनुसंधान के एक बहुत बाद, सबसे अच्छा मुझे मिल गया झंडा उपयोग करने के लिए है: FLAG_ACTIVITY_NO_HISTORY, लेकिन यह मेरे मामले के लिए दो समस्याएं हैं:
- गतिविधि पर 'ए' अगर उपयोगकर्ता अपने आवेदन से दूर के लिए नेविगेट (होम स्क्रीन के लिए उदाहरण), यह उस गतिविधि को नष्ट कर देता है और इसलिए उपयोगकर्ता द्वारा दर्ज की गई सभी जानकारी खो जाती है!
- गतिविधि "सी" मैं इसे इतिहास (बैकस्टैक) में रखना चाहता हूं यदि उपयोगकर्ता "डी" गतिविधि पर नेविगेट करता है लेकिन जब उपयोगकर्ता "ई" गतिविधि पर जाता है तो मैं इसे हटाना चाहता हूं।
मुझे अब तक इस समस्या का हल नहीं मिल रहा है, मुझे लगता है कि वर्तमान कार्य के बैकस्टैक को साफ़ करने के लिए कुछ आसान होगा!
मेरे न्यूनतम एसडीके समर्थन 5.
अग्रिम धन्यवाद है।
संभावित डुप्लिकेट पर आने से पहले गतिविधि सी खत्म: http://stackoverflow.com/questions/5794506/android-clear-the-back-stack भी देखने लायक है: http://developer.android.com/guide/components/tasks-and-back-stack.html# क्लियरिंग – jrajav
http://stackoverflow.com/questions/7121700/remove-all-activities-from-back-stack-while-calling-a-new-activity – speakingcode