2012-01-20 16 views
6

एंड्रॉइड में पृष्ठभूमि में चलने से एप्लिकेशन को कैसे रोकें? मैं चाहता हूं कि मेरा एप्लिकेशन लोड होने पर हर बार ताजा शुरू करें। इसे प्रोग्रामिक तरीके से कैसे करें।पृष्ठभूमि में चलने से एप्लिकेशन को रोकें?

+0

कृपया इसे स्पष्ट करें –

+0

कृपया मुझे अपने प्रश्न के बारे में संक्षेप में बताएं। – Lucifer

+0

इस पोस्ट http://stackoverflow.com/questions/7426751/how-to-close-stop-running-application-on-background-android भी हो तुम में मदद करता है की कोशिश करो। – Ajay

उत्तर

6

अवहेलना onStop अपनी गतिविधि की विधि:

@Override 
public void onStop(){ 
    super.onStop(); 
    finish(); 
} 

लेकिन मुझे लगता है कि यह एक बुरा विचार अपने अनुप्रयोग हर बार पुनः आरंभ करने की है। onStart विधि को ओवरराइड करना बेहतर है, और यहां "पुनरारंभ करें" को संभालें।

असल में, आपका ऐप पृष्ठभूमि में "रन" नहीं करता है। एंड्रॉइड ओएस इसे स्मृति में रखता है, या डिवाइस पर आपकी गतिविधि की स्थिति बचाता है (और फिर विधि में savedInstanceState परम का उपयोग करके आप इसे लोड कर सकते हैं)।

+0

जब उपयोगकर्ता फोन को निलंबित करता है, या अन्यथा गतिविधि छोड़ने पर यह गतिविधि को मार देगा। –

+0

@ मार्कगोजल, मैंने सोचा कि वह यही चाहता है। हालांकि यह बुरा विचार है) –

+1

यह भी है कि ओपी ने पूछा कि मैं क्या समझता हूं। यह सवाल का जवाब है, लेकिन यह बुरा अभ्यास है। संपूर्ण एंड्रॉइड पारिस्थितिक तंत्र इस तथ्य पर आधारित है कि उपयोगकर्ता को "टर्मिनिंग" या "स्क्रैच से शुरू करना" के बारे में चिंता करने की ज़रूरत नहीं है। – Guillaume

7

आप फिर से लोड करने के लिए onResume ईवेंट का उपयोग कर सकते हैं, या look here

संपादित करें:

वास्तव में आप जब उपयोगकर्ता इसे नेविगेट इन कार्यों का उपयोग करने के लिए आपके आवेदन को फिर से लोड करने की आवश्यकता है। enter image description here

4

फिनिश() जोड़ने के बाद;

यह कोड पूरी तरह से एप्लिकेशन को रोक देगा।

System.runFinalizersOnExit(true); 
System.exit(0); 
android.os.Process.killProcess(android.os.Process.myPid()); 
0

आप अन्य सभी गतिविधियों गतिविधि पूल के अंदर समाप्त और जहां

2

पूरे Android पारिस्थितिकी तंत्र तथ्य पर आधारित है app से बाहर निकलने के लिए पूछ सकते हैं पहली गतिविधि कॉल करने के लिए Intent.FLAG_ACTIVITY_CLEAR_TOP का उपयोग करना चाहिए कि उपयोगकर्ता को "टर्मिनिंग" या "स्क्रैच से शुरू करना" के बारे में चिंता करने की ज़रूरत नहीं है। यदि आपको हर बार खरोंच से अपना आवेदन शुरू करने की आवश्यकता है, तो शायद यह है क्योंकि आपके पास "स्क्रैच" में कार्य हैं जो नहीं होना चाहिए, और शायद onResume में कहीं होना चाहिए।

यदि आप अधिक विस्तृत उत्तर चाहते हैं तो कृपया हमें और विवरण दें।

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