क्या एक बार में कई गतिविधियां शुरू करना संभव है? मेरा मतलब है, मुख्य रूप से कुछ आदेशों में 3 गतिविधियां बनाएं और केवल अंतिम दिखाई देगी? अब तक, मैं केवल एक गतिविधि बनाने में सक्षम था।एंड्रॉइड - कई गतिविधियां शुरू करें
धन्यवाद
क्या एक बार में कई गतिविधियां शुरू करना संभव है? मेरा मतलब है, मुख्य रूप से कुछ आदेशों में 3 गतिविधियां बनाएं और केवल अंतिम दिखाई देगी? अब तक, मैं केवल एक गतिविधि बनाने में सक्षम था।एंड्रॉइड - कई गतिविधियां शुरू करें
धन्यवाद
पहले गतिविधि के अपने onCreate
-Method के अंत में startActivity(new Intent(...);
की कोशिश करो। यह तुरंत एक नई गतिविधि लॉन्च करेगा और पहले को रोक देगा। बैक-कुंजी के साथ आप पिछली गतिविधि
इस दृष्टिकोण के साथ समस्या यह है कि यदि गतिविधि बी शुरू करने के बाद सिस्टम बी द्वारा सिस्टम को मार दिया गया (समाप्त) हो गया, और जब उपयोगकर्ता ऊपर बटन पर क्लिक करके गतिविधि बी पर वापस आ जाता है, तो गतिविधि बी के ऑनक्रेट गतिविधि सी फिर से शुरू करने की कोशिश करेंगे। – tmin
पर वापस आ जाएंगे, उदाहरण के लिए, उपयोगकर्ता ने कुछ नई सामग्री को प्रदर्शित करने के लिए अधिसूचना पर क्लिक करने के बाद ऐप में गहराई से लॉन्च करने के लिए ऐसा कुछ करने की आवश्यकता हो सकती है।
Intent i = new Intent(this, A.class);
i.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
Intent j = new Intent(this, B.class);
j.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(j);
Intent k = new Intent(this, C.class);
startActivity(k);
इस तरह से आप एक ही समय में गतिविधियों ए, बी और सी शुरू करने और गतिविधियों एक करने के लिए संक्रमण को दबाने और B. आप गतिविधि सी के लिए अपने वर्तमान गतिविधि से एक भी संक्रमण हो सकता है में मैं दृढ़ता से सुझाव है कि आप उदाहरण के लिए, LogCat पर गतिविधि लाइफसाइक्ल विधि कॉल (ऑनक्रेट इत्यादि) लॉग करें। यह घटनाओं के क्रम को समझने में बहुत मदद करता है।
काम करने की पुष्टि की, धन्यवाद: डी –
धन्यवाद, यह काम कर रहा है। लेकिन मेरे पास एक और आवश्यकता है। मेरे पास 2 गतिविधियां ए और बी हैं। मुझे बी से शुरू करने के लिए startActivityForResult का उपयोग करने की आवश्यकता है। यदि मैं ऐसा करता हूं, तो ए में एक्टिविटी रिसर्च को कॉल नहीं किया जा रहा है। क्या उधर रास्ता है? – kishorer747
लगता है कि @gmale इस – Ewoks
वास्तव में पुराना सवाल है लेकिन मैंने सोचा कि मैं अभी भी इसका उत्तर देता हूं।
उपयोग: public void startActivities (Intent[] intents, Bundle options)
इस डिप लिंक या अन्य उपयोग के मामलों जहां, मूल रूप से, कृत्रिम कार्य (और सभी गतिविधियों यह शामिल करना चाहिए) के पुनर्निर्माण की जरूरत के जवाब में करने के लिए एक आम बात हो सकती है। कभी-कभी, मैनिफेस्ट में parents
निर्दिष्ट करना पर्याप्त नहीं है।
TaskStackBuilder पर एक नज़र डालें। एक आम उदाहरण:
TaskStackBuilder.create(this)
.addNextIntent(intentOnBottom)
// use this method if you want "intentOnTop" to have it's parent chain of activities added to the stack. Otherwise, more "addNextIntent" calls will do.
.addNextIntentWithParentStack(intentOnTop)
.startActivities();
आपको ऐसा करने की आवश्यकता क्यों होगी? केवल एक ही समय में सक्रिय हो सकता है, इसलिए यदि आपने इसे करने के लिए बहुत कुछ किया है, तो केवल अंतिम व्यक्ति ही दिखाया जाएगा और अन्य रोके जाएंगे। –
पूरी तरह से ऊपरी टिप्पणी से सहमत हैं। आपको अपने ऐप के आर्किटेक्चर पर पुनर्विचार करना चाहिए, आप ऐसी गतिविधि क्यों शुरू करना चाहेंगे जो उपयोगकर्ता के लिए उपलब्ध न हो? – Egor
आपको एक साथ कई गतिविधियों को शुरू करने की आवश्यकता क्यों है? –