मेरे पास दो गतिविधियां हैं और मैं उन्हें फिर से बनाने या डुप्लिकेट किए बिना उनके बीच स्विच करना चाहता हूं। प्रत्येक गतिविधि में एक बटन होता है जो उपयोगकर्ता को FLAG_ACTIVITY_REORDER_TO_TOP के साथ एक इरादे का उपयोग करके दूसरे को भेज देगा।FLAG_ACTIVITY_REORDER_TO_TOP रोटेशनएक्सप्शन या रोटेशन पर ब्लैक स्क्रीन का कारण बनता है
यह निम्न स्थिति के अलावा महान काम करता है:
- अनुप्रयोग एक बल करीब
- बटन हिट गतिविधि 2
- पर जाने के लिए गतिविधि 1 करने के लिए वापस जाने के लिए बटन हिट के बाद नए सिरे से शुरू
- स्क्रीन घुमाएं।
इस बिंदु पर ऐप "फिर से शुरू नहीं होने वाली गतिविधि को रोकना" के साथ दुर्घटनाग्रस्त हो जाता है। लॉलीपॉप सिर्फ एक ब्लैक स्क्रीन दिखाता है।
अजीब बात यह है कि यदि आप चरण 4 से पहले होम स्क्रीन पर जाते हैं और ऐप फिर से शुरू करते हैं और फिर उपरोक्त स्थिति को घुमाते हैं तो कोई समस्या नहीं होती है और ऐप बंद/पुनरारंभ होने तक ठीक काम करता है।
यह स्थिति FLAG_ACTIVITY_REORDER_TO_TOP के लिए विशिष्ट प्रतीत होती है और एंड्रॉइड 5.0 और 4.4 और केवल एक नई शुरुआत पर होती है।
मेरे पास मैनिफेस्ट में गतिविधियों पर कोई विशेषता नहीं है।
MainActivity:
public void goSecond(View v) {
Intent i = new Intent(this, SecondActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
SecondActivity:
public void goFirst(View v) {
Intent i = new Intent(this, MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_REORDER_TO_FRONT);
startActivity(i);
}
मैं किसी अन्य जीवन चक्र तरीकों अधिभावी नहीं कर रहा हूँ या कुछ और करने: लेआउट बस एक बटन है कि एक विधि है कि इस तरह दिखता है कॉल कर सकते है।
कोई विचार?