अगर मैं अपने प्रश्न को समझते हैं, आप अपने ऐप में अपने कार्यक्रम के संदर्भ में या जैसे एक बाहरी घटना वर्तमान गतिविधि बाहर निकलने के बीच भेद करने में सक्षम हो चाहता हूँ नहीं है एक फ़ोन कॉल। मैंने ऐसा करने के लिए अतीत में निम्न विधि का उपयोग किया है (हालांकि यह सबसे अच्छा नहीं हो सकता है, यह निश्चित रूप से काम करता है):
(1) साझा किए गए संदर्भों में एक मान सेट करें (प्रोग्राम के डेटा को संग्रहीत करने के लिए फ़ाइल में निर्मित) । इसे "exitStatus" जैसे कुछ कॉल करें जो प्रोग्राम कोड के भीतर बाहर निकलने के लिए 1 पर सेट है और 0 बाहरी घटनाओं के आधार पर बाहर निकलने के लिए 0 पर सेट है।
(2) अब, अपनी प्रत्येक गतिविधि के भीतर, आउटसोस्टैटस के मान को रीज़्यूम में 0 पर सेट करें (जिसे कोई फर्क नहीं पड़ता कि आप कैसे प्रवेश करते हैं)। यदि आपका प्रोग्राम उस गतिविधि के भीतर किसी बाहरी घटना के कारण निकलता है, तो यह मान तब जारी रहेगा जब प्रोग्राम पुनः लोड हो जाए।
(3) आपकी गतिविधि के अंत में, जहां आप किसी अन्य गतिविधि में स्थानांतरित करने जा रहे हैं, उन सभी बिंदुओं पर, पहले एक्जिटस्टैटस को 1 पर सेट करें। फिर, जब आप दूसरी गतिविधि पर पहुंचते हैं, तो यह पता चलेगा कि आप वहां पहुंचे हैं अपने कार्यक्रम के भीतर से।
(4) इस प्रकार, बस स्पष्ट होने के लिए, आपकी प्रत्येक गतिविधियां शुरुआत में बाहर निकलने की जांच कर सकती हैं यह देखने के लिए कि क्या आप अपने प्रोग्राम संदर्भ (= 1) में प्रवेश कर रहे हैं या किसी प्रकार के गैर-स्थानीय निकास के बाद (= 0)।
यह सब कुछ है। मैं यह सुनिश्चित करने के लिए इस विधि का उपयोग करता हूं कि मेरे ऐप के लिए लोड डेटा मौजूद है क्योंकि यदि कोई उपयोगकर्ता अपना डिवाइस बंद कर देता है तो ऐप खो सकता है ताकि ऐप बाद में रीबूट करने पर चीजों के बीच में उठने का प्रयास कर सके।
स्रोत
2014-04-21 20:41:30
यदि आपका ऐप कैमरा, या ईमेल जैसे कोई ऐप खोलता है तो यह काम नहीं करेगा। आपको मामले के मामले में ऐसा करना होगा। – SXC