2011-06-16 17 views

उत्तर

4

यहां दिए गए कदम हैं जो आवश्यक होंगे:

  • गतिविधि से सी गतिविधि को लॉन्च करें ए बूलियन fromActivityC इरादे और ध्वज FLAG_ACTIVITY_CLEAR_TOP सेट के साथ बंडल किया गया।
  • अब गतिविधि के निर्माण में इस बूलियन "से एक्टिविटीसी" के लिए पहली बार जांच करें और यदि वर्तमान में गतिविधि लॉन्च करें तो सामान्य प्रवाह जारी रहता है।

    // following code can be used to get the boolean in the oncreate 
    boolean entrypoint=this.getIntent().getExtras().getBoolean("fromActivityC"); 
    

एक लील वैकल्पिक हल लेकिन आशा है कि यह

+0

धन्यवाद, दिलचस्प चाल, यह चलता है ... लेकिन कीबोर्ड पर टाइप करना मुझे एक विचार था: जब ए कॉल बी, ए खत्म करें; जब बी वापस चला जाता है, ए फिर से बनाना; जब सी कॉल डी करता है, तो FLAG_ACTIVITY_CLEAR_TOP के साथ डी बनाएं। Yessss !! – Michele

+0

हाँ जो काम करना चाहिए ..लेकिन आपको नहीं लगता कि इस तरह की गतिविधियों को फिर से बनाने में बहुत सी सीपीयू चक्र लगेंगे और गतिविधि के ढेर के बहुत ही उद्देश्य को हराया जाएगा .. कुछ सोचने के लिए :) – Nitin

1

एक छोटी सी hacky, लेकिन आप गतिविधि एक शुरू कर सकता है ढेर को साफ़ करते हुए, तो गतिविधि डी

गतिविधि एक गायब होने से पहले एक पल के लिए प्रकट हो सकता है शुरू हालांकि

2

दूर करने के लिए कई तरीका नहीं है स्टैक से एक गतिविधि या इसे स्टैक्ड करने से रोकें:

स्टैक से अपनी गतिविधि को निकालने के लिए, बस finish() पर कॉल करें, here देखें।

आप अपने प्रकट संपत्ति में भी कार्यान्वित कर सकते हैं: एंड्रॉइड: noHistory = "true" जो किसी गतिविधि को ढेर करने से रोकता है।

इस सवाल का रूप और अधिक विस्तार देखें: Removing an activity from the history stack

1

आप ActivityB परिष्करण जब आप ActivityC लांच की कोशिश कर सकते हैं और ActivityC में एक ही जब ए

आपका कोड की शुरूआत इस तरह दिखेगा:

Intent i = new Intent(this.class.ActivityC); 
startActivity(i); 
ActivityB.finish(); 
+0

मैं नहीं कर सकता, गतिविधि सी है पर एक नज़र रखना चाहिए एक संवाद यदि मैं सी शुरू करता हूं तो मैं बी को समाप्त करता हूं, मैं सी के नीचे ए देखता हूं। – Michele

0

में मदद करता है सी के कॉलबैक पर, एक करने के लिए वापस एक संदेश भेज देंगे और Acall खत्म से अपने विकास शुरू करते हैं, यह बी और सी (खत्म हो जाएगा क्योंकि सी है बी के अलावा)।

0
यहाँ

एक बेहतर समाधान A में Intent सामग्री का मूल्यांकन के आधार पर नहीं किया गया है: ध्वज का उपयोग FLAG_ACTIVITY_TASK_ON_HOME

आप भी अन्य झंडे Android Intent

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