जब उपयोगकर्ता सभी खुली गतिविधियों से बाहर निकलना चाहता है , तो उन्हें एक बटन दबाना चाहिए जो पहली गतिविधि को लोड करता है जो आपके आवेदन शुरू होने पर चलता है, अन्य सभी गतिविधियों को साफ़ करें, फिर अंतिम शेष गतिविधि समाप्त करें। उपयोगकर्ता द्वारा बाहर निकलने का बटन दबाने पर निम्नलिखित कोड चलाएं। मेरे मामले में, LoginActivity
मेरे कार्यक्रम को चलाने की पहली गतिविधि है।
Intent intent = new Intent(getApplicationContext(), LoginActivity.class);
intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
intent.putExtra("EXIT", true);
startActivity(intent);
उपरोक्त कोड को छोड़कर सभी गतिविधियों को साफ करता है LoginActivity
। फिर अंदर निम्नलिखित कोड डाल LoginActivity
की onCreate(...)
जब के लिए सुनने के लिए, LoginActivity
बाहर निकलें 'संकेत पारित किया गया था निर्मित किया जाता है और':
if (getIntent().getBooleanExtra("EXIT", false)) {
finish();
}
एंड्रॉइड में एग्जिट बटन क्यों इतना मुश्किल बना रहा है?
एंड्रॉइड आपको अपने एप्लिकेशन में "बाहर" बटन होने से रोकने के लिए कड़ी मेहनत करता है, क्योंकि वे चाहते हैं कि उपयोगकर्ता इस बात की कभी परवाह न करें कि वे जो प्रोग्राम उपयोग करते हैं वह पृष्ठभूमि में चल रहे हैं या नहीं।
एंड्रॉइड ओएस डेवलपर्स चाहते हैं कि आपका प्रोग्राम फोन के अनपेक्षित शटडाउन और पावर ऑफ से बचने में सक्षम हो, और जब उपयोगकर्ता प्रोग्राम को पुनरारंभ करता है, तो वे सही उठाते हैं जहां उन्होंने छोड़ा था। इसलिए उपयोगकर्ता आपके आवेदन का उपयोग करते समय एक फोन कॉल प्राप्त कर सकते हैं, और नक्शे खोल सकते हैं जिसके लिए आपके आवेदन को अधिक संसाधनों के लिए मुक्त करना होगा।
जब उपयोगकर्ता आपके आवेदन को फिर से शुरू करता है, तो वे सही उठाते हैं जहां उन्होंने बिना किसी रुकावट के छोड़ दिया। यह एग्जिट बटन गतिविधि प्रबंधक से शक्ति का उपयोग कर रहा है, संभवतः स्वचालित रूप से प्रबंधित एंड्रॉइड प्रोग्राम जीवन चक्र के साथ समस्याएं पैदा कर रहा है।