मेरे पास एक ऐसा एप्लिकेशन है जिसमें मुख्य गतिविधि है। जब यह दूसरी गतिविधि में बदल जाता है तो मैं इसे इस तरह करता हूं:

startActivity(intent);
finish();

मैं उम्मीद कर रहा था कि यह एप्लिकेशन को मुख्य गतिविधि पर वापस जाने से पूरी तरह से रोक देगा। जब मैं सेकेंड गतिविधि में एंड्रॉइड बैक बटन दबाता हूं तो यह होम स्क्रीन पर वापस जाता है (जो मैं चाहता हूं)। लेकिन जब मैं मल्टीटास्किंग से ऐप को फिर से खोलता हूं तो यह पहली गतिविधि पर वापस चला जाता है! क्या किसी ने पहले इस मुद्दे में भाग लिया है?

1
BMARX123 2 पद 2018, 23:37

2 जवाब

सबसे बढ़िया उत्तर

ढ़ूँढ निकाला! मेरा एप्लिकेशन एक ट्विटर एपीआई का उपयोग करता है, और एप्लिकेशन को फिर से लॉन्च करने से एक त्रुटि होगी क्योंकि यह क्रेडेंशियल प्राप्त करने का प्रयास करता है जो पहले नहीं था। मैंने कुछ अनुप्रयोगों को स्विच करते समय स्टैक को पूरी तरह से साफ़ करना भी सुनिश्चित किया:

इंटेंट.एडफ्लैग्स (इरादा.FLAG_ACTIVITY_CLEAR_TASK|इरादा.FLAG_ACTIVITY_NEW_TASK);

0
BMARX123 5 पद 2018, 06:07

मैं इस समस्या में भाग रहा था, जहां मेरी पहली स्क्रीन एक लॉगिन गतिविधि होगी जो केवल यह दिखाने के लिए है कि क्या उपयोगकर्ता लॉग इन नहीं है। अन्यथा, यह होम स्क्रीन दिखाता है। मैंने लॉगिन दृढ़ता के लिए SharedPreferences की कोशिश की, लेकिन यह प्रमाणीकरण सेवा मैं उपयोग कर रहा हूँ, Google Firebase, में अंतर्निहित लॉगिन दृढ़ता है।

अधिक जानकारी के बिना, हालांकि, मैं केवल यह सुझाव दे सकता हूं कि आप SharedPreferences पर शोध करें और स्टार्ट-अप पर एक बूलियन चेक एक शर्त रखें। यदि शर्त पूरी हो जाती है, तो घरेलू गतिविधि शुरू करें; अन्यथा, मुख्य गतिविधि दिखाएं। कुछ इस तरह:

boolean isLogin;
SharedPreferences settings;
SharedPreferences.Editor editor;

settings = getApplicationContext().getSharedPreferences("MyPrefs", MODE_PRIVATE);
isLogin = settings.getBoolean("islogin", false);

if(isLogin) {
     finish();
     goToDash();
}

सार्वजनिक इंटरफ़ेस साझा वरीयताएँ, Android डेवलपर

साझा वरीयताएँ प्राप्त करना

Android साझा प्राथमिकताओं के साथ कार्य करना

1
Mars Enyalios 3 पद 2018, 00:22