2012-07-03 12 views
44

वर्तमान में मैं एक नया Activity शुरू कर रहा हूं और वर्तमान में finish पर कॉल कर रहा हूं।नई गतिविधि शुरू करें और एंड्रॉइड में वर्तमान को खत्म करें?

वहाँ किसी भी झंडा Intent के लिए पारित किया जा सकता है कि कोड से मैन्युअल रूप से finish कॉल करने के लिए एक आवश्यकता के बिना वर्तमान Activity परिष्करण सक्षम है?

+4

'खत्म()' आपकी सहायता नहीं कर सकते हैं:

Intent.FLAG_ACTIVITY_NO_HISTORY पढ़ने का उपयोग कर के बारे में अधिक जानने के लिए? –

उत्तर

102

आप finish() विधि का उपयोग कर सकते हैं या आप उपयोग कर सकते हैं:

android:noHistory="true" 

और फिर finish() अब और कॉल करने के लिए कोई जरूरत नहीं है।

<activity android:name=".ClassName" android:noHistory="true" ... /> 
+5

क्या आप वाकई यह कहते हैं कि आप क्या कहते हैं? एंड्रॉइड दस्तावेज़ों से: FLAG_ACTIVITY_NO_HISTORY यदि सेट है, तो नई गतिविधि इतिहास स्टैक में नहीं रखी जाती है। जैसे ही उपयोगकर्ता इससे दूर निकलता है, गतिविधि समाप्त हो जाती है। यह noHistory विशेषता के साथ भी सेट किया जा सकता है। – 10s

+14

एंड्रॉइड: noHistory = "true" खत्म() के समान नहीं है! –

+1

बस फिनिश() का उपयोग करें, noHistory –

4

FLAG_ACTIVITY_NO_HISTORY जब आप उपयोगकर्ता को किसी अन्य व्यक्ति के पास जाने के बाद समाप्त करना चाहते हैं तो शुरू करें।

http://developer.android.com/reference/android/content/Intent.html#FLAG%5FACTIVITY%5FNO%5FHISTORY

+1

FLAG_ACTIVITY_NO_HISTORY का उपयोग न करें विपरीत। इतिहास में नई गतिविधि सहेजी नहीं गई है, जबकि मैं पिछली गतिविधि समाप्त करना चाहता हूं। – pixel

+2

हां, मैंने यही कहा। एक्टिविटी ए आप खत्म करना चाहते हैं, एक्टिविटी बी जिसे गतिविधि ए से एक्सेस किया गया है गतिविधि ए शुरू करें फ्लैग के साथ मैं इसका उल्लेख करता हूं, जब उपयोगकर्ता गतिविधि से दूर गतिविधि गतिविधि में घूमता है तो गतिविधि ए समाप्त हो जाता है। जैसा कि मैंने जवाब में उल्लेख किया है: "... उस गतिविधि को शुरू करते समय आप समाप्त करना चाहते हैं ..."। पुष्टि के रूप में यह वही जवाब है। – 10s

52

उपयोग finish इस तरह:

Intent i = new Intent(Main_Menu.this, NextActivity.class); 
finish(); //Kill the activity from which you will go to next activity 
startActivity(i); 

FLAG_ACTIVITY_NO_HISTORY विपरीत है। इतिहास में नई गतिविधि सहेजी नहीं गई है, जबकि ओपी चाहता है कि पिछली गतिविधि समाप्त हो। http://developer.android.com/reference/android/content/Intent.html#FLAG_ACTIVITY_NO_HISTORY

+3

FLAG_ACTIVITY_NO_HISTORY विपरीत करता है। इतिहास में नई गतिविधि सहेजी नहीं गई है, जबकि मैं पिछली गतिविधि समाप्त करना चाहता हूं। – pixel

+8

'मौजूदा गतिविधि को मारने के लिए' खत्म नहीं होता है? आप अगली पंक्ति 'प्रारंभ गतिविधि (i) 'तक पहुंचने की उम्मीद कैसे करते हैं? मुझे खतरनाक और अप्रत्याशित लग रहा है – Michael

+3

@ माइकल कॉल एसिंक प्रारंभ एक्टिविटी() को कॉल किया जाएगा। – tomi

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