2011-04-04 25 views
11

मेरे आवेदन में 4 गतिविधियां हैं। यदि उपयोगकर्ता होम बटन पर क्लिक करता है, अगली बार जब एप्लिकेशन लॉन्च किया जाता है, तो मैं इसे मुख्य गतिविधि पर शुरू करना चाहता हूं, जो कि आखिरी गतिविधि नहीं थी। अगर फोन का डिस्प्ले बंद हो जाता है, जब तक कि एप्लिकेशन बंद नहीं किया जाता है, मैं इसे फिर से शुरू करना चाहता हूं जहां यह छोड़ा गया था। इस बारे में जाने का सही तरीका क्या है?हमेशा मुख्य गतिविधि लॉन्च करें

उत्तर

17

बस अपने प्रकट मुख्य गतिविधि घोषणा में clearTaskOnLaunch="true" सेट सीखना चाहिए।

http://developer.android.com/guide/topics/manifest/activity-element.html#clear

+0

मैंने ऐसा किया है लेकिन यह कुछ भी नहीं प्रतीत होता है। यदि मैं मुख्य को छोड़कर सभी गतिविधियों के लिए finishOnTaskLaunch सेट करता हूं, तो यह वही करता है जो मुझे चाहिए लेकिन मुझे यकीन नहीं है कि यह सबसे अच्छा तरीका है। – Roger

+1

यह विकल्प छोटी गाड़ी लगता है, मुख्य एंड को छोड़कर अन्य सभी गतिविधियों पर 'android: finishOnTaskLaunch =" true "सेट करने का प्रयास करें। 'ClearTaskOnLaunch =" true "' – tbruyelle

+4

को निश्चित रूप से फिनिशऑनटास्क लॉन्च संपत्ति के साथ ध्यान में रखना एक बात यह है कि यदि आप सीधे ग्रहण से डिवाइस पर ऐप बनाते हैं तो यह काम नहीं करेगा। असल में प्रभावी होने के लिए आपको मैन्युअल रूप से एपीके इंस्टॉल करना होगा। –

5

यह आपके प्रश्न के सभी भागों का उत्तर नहीं देता है, लेकिन ऐसा लगता है कि आप प्रकट में इन विशेषताओं को देखने से लाभान्वित होंगे; launchmode, finishOnTaskLaunch, clearTaskOnLaunch

-1

ऑनर्यूम विधि में, निर्दिष्ट करें कि कौन सी गतिविधि लोड होनी है।

This एंड्रॉइड प्रलेखन से पृष्ठ को इस पर कुछ और प्रकाश डालना चाहिए।

-1

आपको अपनी गतिविधि के ऑन-ऑन और ऑन्यूज़ विधियों पर सभी मामलों के मामलों को लागू करना चाहिए।

आपको गतिविधि जीवन चक्र http://developer.android.com/reference/android/app/Activity.html

0

मैं इसे आत्मीयता और हाल की सूची की एक समस्या है लगता है। यहां बताया गया है कि मैंने इसे कैसे हल किया।

एंड्रॉयड: taskAffinity = "com.packageName.Excluded" एंड्रॉयड: excludeFromRecents ही आत्मीयता के साथ = "true"

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

0
@Override 
protected void onResume(){ 
    super.onResume(); 
    keeper += 1; 
    if (keeper == 2){ 
     Intent iii = new Intent(MainActivity.this, SplashActivity.class); 
     startActivity(iii); 
     finish(); 
    } 
} 
संबंधित मुद्दे