2012-02-15 19 views
6

मुझे अपनी परियोजना में गतिविधि लॉन्च करने में कोई समस्या है।एंड्रॉइड में लॉन्चर + सिंगल टास्क गतिविधि

मेरी 'होम' गतिविधि (एच) इसमें कुछ सेवा चुनने की अनुमति देती है। आइए S11 -> ...-> S1n सेवा के लिए एक गतिविधि प्रवाह है (एस 1)। एच मेरे ऐप के लिए लॉन्चर गतिविधि है।

इसके अलावा, मुझे एच से दूसरे ऐप पर स्विच करने की आवश्यकता है। चूंकि मैं उस ऐप व्यवहार को नहीं बदल सकता, मुझे अपनी एच गतिविधि को 'सिंगल टास्क' के रूप में घोषित करना है ताकि मेरे गतिविधि स्टैक में इसके कई उदाहरण हो सकें।

समस्या यह है कि मेरे ऐप को एच के बाद धक्का देने वाली गतिविधियों को दूर किए बिना फिर से लॉन्च नहीं किया जा सकता है। उदाहरण के लिए यदि मेरे पास एच-एस 11-एस 12 है, तो HOME दबाएं और हालिया ऐप्स मेनू से पुनः लॉन्च करें I एक अग्रभूमि गतिविधि।

कोई विचार? क्या इस संयोजन को काम करने का कोई तरीका है? धन्यवाद!

+0

के बजाय Fragments का उपयोग आप बेहतर उदाहरण के साथ यह व्याख्या कर सकते हैं, आप क्या जरूरत से एच से किसी अन्य एप्लिकेशन के लिए और इसे वापस करने के लिए स्विच करने के लिए गतिविधियों मतलब है, और S11 ....? – user2450263

+0

इसलिए समस्या यह है कि जब आप हालिया ऐप सूची से ऐप को फिर से खोलते हैं, तो ढेर में अन्य गतिविधियां ढेर में रहनी चाहिए, है ना? – himanshu1496

+0

आप "अन्य ऐप" कैसे शुरू करते हैं? मैं नहीं देख सकता कि यह आपके एच गतिविधि के कई उदाहरणों का कारण बनता है। – totoro

उत्तर

-1

आपको सिंगल टास्क की आवश्यकता नहीं है। startActivity के बजाय startActivityForResult का उपयोग करें। या Activities

startActivityForResult(new Intent(H.this,S11),1); 

public onActivityResult(int requestCode){ 
    if(requestCode == 1){ 
     startActivityForResult(new Intent(H.this,S12),2); 
    }else if(requestCode == 2){ 
     startActivityForResult(new Intent(H.this,S12),3); 
    } 
    ... 
}