उम्मीद है कि कोई मेरी मदद कर सकता है, अगर समाधान नहीं, तो कम से कम एक व्यवहार के लिए स्पष्टीकरण।
समस्या:
कुछ उपकरणों पर, लॉन्चर आइकन को दबाने से वर्तमान कार्य फिर से शुरू हो जाता है, दूसरों पर इसका परिणाम प्रारंभिक लॉन्च के इरादे से निकाल दिया जाता है (प्रभावी रूप से ऐप को पुनरारंभ करना)। क्यों होता है ऐसा?
विस्तार:
जब आप "लॉन्चर आइकन" दबाते हैं, तो एप्लिकेशन सामान्य रूप से शुरू होता है - अर्थात, मेरा मानना है कि, Activity
एक्शन android.intent.action.MAIN
और श्रेणी के साथ एक इंटेंट आपके पहले नाम के साथ लॉन्च किया गया है android.intent.category.LAUNCHER
। यह हमेशा मामला नहीं हो सकता है:
अधिकांश उपकरणों पर, यदि आप ऐप के चालू होने के बाद लॉन्चर आइकन दबाते हैं, तो वर्तमान में उस प्रक्रिया में चल रही गतिविधि फिर से शुरू हो जाती है ( प्रारंभिक नहींActivity
)। यह उसी तरह से फिर से शुरू होता है जैसे कि आपने ओएस मेनू में "हाल के कार्य" से चुना था। यह वह व्यवहार है जो मैं सभी उपकरणों पर चाहता हूं ।
हालाँकि, चयनित अन्य उपकरणों पर अलग व्यवहार होता है:
मोटोरोला Xoom पर, जब आप लॉन्चर आइकन दबाते हैं, तो ऐप हमेशा शुरुआती लॉन्च की शुरुआत करेगा,
Activity
चाहे जो भी चल रहा हो। मुझे लगता है कि लांचर आइकन हमेशा "LAUNCHER" इरादे को शुरू करते हैं।सैमसंग टैब 2 पर, जब आप लॉन्चर आइकन दबाते हैं, यदि आपने अभी ऐप इंस्टॉल किया है, तो यह हमेशा प्रारंभिक
Activity
(एक्सूम के रूप में ही) लॉन्च करेगा - हालांकि, इंस्टॉल होने के बाद डिवाइस को पुनरारंभ करने के बाद, लॉन्चर आइकन बदलेगा ऐप को फिर से शुरू करें। मुझे लगता है कि ये डिवाइस डिवाइस स्टार्टअप पर लुकिंग टेबल में "इंस्टॉल किए गए एप्लिकेशन" जोड़ते हैं जो लॉन्चर आइकन को सही ढंग से चलने वाले कार्यों को फिर से शुरू करने की अनुमति देते हैं?
मुझे लगता है कि कई जवाब पढ़ा है ध्वनि मेरी समस्या के समान लेकिन बस जोड़ने android:alwaysRetainTaskState="true"
या का उपयोग कर launchMode="singleTop"
के लिए Activity
इस सवाल का जवाब नहीं हैं।
संपादित करें:
इस ऐप के सबसे हालिया लॉन्च के बाद, हम पाते हैं कि यह व्यवहार पहले पुनरारंभ के बाद सभी उपकरणों पर होने लगा है। जो मुझे पागल लगता है लेकिन फिर से शुरू होने की प्रक्रिया को देखते हुए, मैं वास्तव में नहीं पा सकता कि क्या गलत हो रहा है।
finish()
उन्हें उन उदाहरणों में कॉल करने लगता है जहां यह Activity
उन्हें फिर से शुरू करने के बजाय पहले फिर से शुरू करता है।