android - when don't keep activities selected on Setting , progress dialog is not dismissing -
जब "क्रियाकलाप न रखें" का चयन सेटिंग डेवलपर विकल्प पर होता है प्रगति संवाद खारिज नहीं होता है असल में, मैं प्रोजेक्ट्स बार को प्रदर्शित कर रहा हूं, एप्लिकेशन को इनिशियलाइज़ करने के लिए, जब मैं गतिविधि ए से गतिविधि बी जा रहा हूं और फिर गतिविधि ए में आया हूं, तो प्रगति बार पूरा होने के बाद खारिज नहीं होता है। नीचे मेरा कोड है,
पहला गतिविधि
पैकेज com.example.donotkeepactivitiesalive; आयात एंड्रॉइड। एप। आयात करें android.app.Dialog; आयात करें android.app.ProgressDialog; Import android.content.Intent; Android.os.AsyncTask आयात करें; Importroid.os.Bundle; Import android.view.Menu; आयात करें android.view.View; आयात करें android.view.View.OnClickListener; आयात करें android.widget.Button; सार्वजनिक कक्षा मुख्य गतिविधि गतिविधि को बढ़ाता है {सार्वजनिक स्थिर अंतिम अंत MESSAGE_PROGRESS_BAR_INITIALIZING = 1; निजी डायलॉग m_cObjDialog; @Create पर सार्वजनिक शून्य को ओवरराइड करें (बंडल सहेजे गए इन्स्टैंसस्टेट) {सुपर.नक्रेट (सहेजे गए इन्स्टेंसस्टेट); setContentView (R.layout.activity_main); System.out.println (getClass ()। GetName () + "शुरूआती पर्यावरण से पहले;> gt; & gt; & gt; & gt; & gt;"); नया इनिशियलाइज़ेशन पर्यावरण ()। निष्पादित करें (); System.out.println (getClass ()। GetName () + "शुरुआतीकरण के बाद पर्यावरण & gt; & gt; & gt; & gt; & gt; & gt;"); बटन एलबी = (बटन) ढूंढें वीवीबीआईआईडी (आर.ड.बटन 1); Lb.setOnClickListener (नया OnClickListener () {@Override सार्वजनिक शून्य पर क्लिक करें (देखें वी) {आशय lIntent = नया आशय (मुख्य गतिविधि। यह, दूसरी गतिविधि। वर्ग); शुरूआत (lIntent);}}); } @ ओवरराइड पब्लिक बूलियन ऑन क्रेट ऑप्शन मेन्यू (मेनू मेनू) {getMenuInflater ()। फुलाएँ (आर.मेनू। सक्रियता_मेन, मेनू); वापस सच; } @ ओवरराइड संरक्षित डायलॉग ऑन क्रेलेट डायलॉग (इंट आईडी) {m_cObjDialog = नई प्रगति डीआईएलओघ (यह); m_cObjDialog.setTitle ( "शुरु कर रहा है"); ((प्रोग्रेस डीियलोग) एमसीसीओबीज डायलॉग) .सेटमेसेज ("एप्लिकेशन आरंभ करना"); m_cObjDialog.setCancelable (गलत); वापसी m_cObjDialog; } क्लास इनिशियलाइज़ पर्यावरण एसिंक टास्क & lt; स्ट्रिंग, स्ट्रिंग, स्ट्रिंग & gt; {@Override Protected void onPreExecute () {System.out.println (getClass ()। GetName () + "परपरिक्क्यूट & gt; & gt; & gt; & gt; & gt;"); super.onPreExecute (); showDialog (MESSAGE_PROGRESS_BAR_INITIALIZING); } @ ओवरराइड संरक्षित स्ट्रिंग doInBackground (स्ट्रिंग ... aurl) {System.out.println (getClass ()। GetName () + "doInBackground & gt; & gt; & gt; & gt; & gt;"); वापसी नल; } @OverridePostExecute पर सुरक्षित शून्य (स्ट्रिंग अप्रयुक्त) {dismissDialog (MESSAGE_PROGRESS_BAR_INITIALIZING); System.out.println (getClass ()। GetName () + "onPostExecute & gt; & gt; & gt; & gt; & gt; & gt;"); }}} दूसरी गतिविधि <पूर्व> पैकेज com.example.donotkeepactivitiesalive; आयात एंड्रॉइड। एप। Importroid.os.Bundle; सार्वजनिक कक्षा द्वितीय गतिविधि गतिविधि {@ ओवरराइड संरक्षित शून्य को क्रिएट (बंडल से बचाया गया इन्स्टेंसस्टेट) {// टोडो ऑटो-जेनरेट किया गया विधि स्टब सुपर। कॉनेट (सहेजे गए इन्स्टेंसस्टेट); setContentView (R.layout.activity_main); }} इस समस्या को ट्रैक करने और काम करने के लिए कोई भी तरीका है, हालांकि "गतिविधियां न रखें" सक्षम है
बंडल ऑब्जेक्ट की जांच करके मैंने इसे हल किया है या नहीं। यदि बंडल ऑब्जेक्ट शून्य है तो ऐशिनटस्क क्लास को कॉल करें, और कॉल न करें, < पूर्व> अगर (शून्य == सहेजे गए इन्स्टेंसस्टेट) {नया इनिशियलाइज़ेशन पर्यावरण ()। निष्पादित करें (); } लेकिन यह सुनिश्चित कर लें कि आपकी पिछली गतिविधि ऐक्टिवटीविल्हे पर अतिक्रमण नहीं है ()
Comments
Post a Comment