हम एक अजीब मुद्दे का सामना कर रहे हैं। यकीन नहीं होता कि यह मौजूदा एप्लिकेशन का डिज़ाइन दोष है। आपकी मदद / सुझाव की सराहना की है।
हमारे पास Xamarin.forms ऐप है। IOS और Android दोनों के लिए लक्षित।
समस्या मुख्य रूप से एंड्रॉइड ऐप में आ रही है।
अनुप्रयोग प्रवाह:
- एक बार जब हम एप्लिकेशन से लॉगआउट करते हैं, तो ऐप एक लॉगआउट गतिविधि खोलता है और उपयोगकर्ता की जानकारी और अन्य डेटा हटा देता है।
- लॉगिन के लिए एक नई गतिविधि खोलता है जिसमें क्लाइंट SSO कार्यान्वयन शामिल है
- सफल लॉगिन पर, ऐप उपयोगकर्ता की जानकारी सेट कर रहा है और वेब सेवा से डेटा प्राप्त कर रहा है।
- फिर इसे लोडएप्लिकेशन विधि कहते हैं ताकि प्रवाह मुख्य अनुप्रयोग में वापस आ जाए
अब यदि उपयोगकर्ता कई बार लॉगआउट / लॉग इन करता है, तो लोडएप्लिकेशन पद्धति को कॉल करके और फिर होम स्क्रीन को प्रदर्शित करके एक नया एप्लिकेशन इंस्टेंस खोलना
इसलिए जब उपयोगकर्ता होम पेज में बैक बटन टैप कर रहा है,एप्लिकेशन बंद नहीं हो रहा है और उसी एप्लिकेशन के पिछले उदाहरण प्रदर्शित करता है। उपयोगकर्ता को कई बार बैक बटन दबाने की आवश्यकता होती है (यह निर्भर करता है कि उपयोगकर्ता कितने समय तक लॉगआउट-लॉगिन करता है)।
क्या इसे रोकने का कोई अच्छा तरीका है? क्या हम LoadApplication कहे जाने से पहले एप्लिकेशन के वर्तमान उदाहरण को बंद कर सकते हैं?
लंबे समय तक फंसा रहा।
उत्तर:
जवाब के लिए 2 № 1मैं फोन करने से बचने की कोशिश करता हूं LoadApplication
एक बार फिर। आपको नेविगेशन स्टैक को नियंत्रित करना चाहिए।
आप लॉगआउटपेज पर हैं
- के माध्यम से सभी विचारों को हटा दें
PopToRootAsync
- दिखाओ
LoginPage
await Navigation.PopToRootAsync(false);
await Navigation.PushAsync(new LoginPage(), true);
यह ब्लॉग पोस्ट पढ़ने लायक हो सकती है: https://jfarrell.net/2015/01/22/understanding-xamarin-forms-navigation/
जवाब के लिए 0 № 2
कृपया यह प्रयास करें।
https://stackoverflow.com/a/36885388/1941942
[Activity (NoHistory = true)]
public class LoginActivity : Activity { }
मेनएक्टिविटी पर लागू करने के बाद सेविंग इंस्टेंस एरर थोड़ी देर के लिए चला गया है।