एंड्रॉइड में, मैंने एक गतिविधि उदाहरण एक्टिविटी परिभाषित की है।अग्रभूमि (ढेर के शीर्ष) में गतिविधि कैसे लाएं?
जब मेरा एप्लिकेशन लॉन्च किया गया था, तो इस ए-एक्टिविटी का एक उदाहरण बनाया गया था, कहें कि यह A
है। जब उपयोगकर्ता ने A
में एक बटन क्लिक किया, तो बी-गतिविधि का एक और उदाहरण, बी बनाया गया था। अब कार्य स्टैक बी-ए है, शीर्ष पर बी के साथ। फिर, उपयोगकर्ता ने बी पर एक बटन पर क्लिक किया, सी-गतिविधि का एक और उदाहरण, और सी बनाया गया था। अब कार्य स्टैक सी-बी-ए है, सी शीर्ष पर सी के साथ।
अब, जब उपयोगकर्ता सी पर एक बटन क्लिक करता है, तो मैं चाहता हूं कि एप्लिकेशन ए को अग्रभूमि में लाए, यानी ए को कार्य स्टैक, ए-सी-बी के शीर्ष पर होना चाहिए।
ऐसा करने के लिए मैं कोड कैसे लिख सकता हूं?
मुझे लगता है कि यह होना चाहिए [FLAG_ACTIVITY_SINGLE_TOP] (http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_SINGLE_TOP)। –
@ user942821 'FLAG_ACTIVITY_SINGLE_TOP' यहां सहायता नहीं करेगा। जब गतिविधि सी स्टैक के शीर्ष पर है और यह 'ए FLAG_ACTIVITY_SINGLE_TOP' सेट करने के बावजूद गतिविधि ए लॉन्च करने के लिए 'प्रारंभ गतिविधि()' को कॉल करता है, फिर भी यह गतिविधि ए के ** नया उदाहरण ** बना देगा। 'FLAG_ACTIVITY_SINGLE_TOP' केवल एक नई घटना के निर्माण को रोकता है ** यदि आप पहले से ही स्टैक ** के शीर्ष पर एक ऐसी गतिविधि लॉन्च करने का प्रयास कर रहे हैं। इस मामले में, गतिविधि ए स्टैक के शीर्ष पर नहीं है, इसलिए एंड्रॉइड एक नया उदाहरण बनाता है। –
बहुत बढ़िया! दिए गए 'गतिविधि' के बाद किसी भी इतिहास को साफ़ करने के लिए '(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT | Intent.FLAG_ACTIVITY_CLEAR_TOP)' का उपयोग किया गया। – shkschneider