2011-06-11 18 views
12

मैं ऐसे ऐप पर काम कर रहा हूं जो एमपी 3 फ़ाइलों को स्वचालित रूप से और किसी दिए गए गतिविधि के भीतर उत्तराधिकार में चलाता है। यह जानता है कि वर्तमान एमपी 3 प्ले MediaPlayer से "ऑनकंपशन" ईवेंट सुनने के द्वारा पूरा हो गया है।एंड्रॉइड: कैसे पता चलेगा कि कोई गतिविधि समाप्त हो गई है या नहीं?

हालांकि, अगर मैं मीडिया चलाते समय बैक बटन दबाकर स्टार्ट डिस्प्ले पर वापस आ जाता हूं, जाहिर है कि गतिविधि अभी भी चल रही है। जब "ऑनकंपलेशन" ईवेंट ट्रिगर होता है, तो यह एक सूची गतिविधि के भीतर दृश्य को एक्सेस करने और शून्य सूचक अपवाद पर क्रैश करने का प्रयास करता है।

यह निर्धारित करने का सबसे अच्छा तरीका क्या है कि गतिविधि अब "सक्रिय" नहीं है और इसलिए अगले ऑडियो को चलाने के लिए कॉल को रोकने में सक्षम होना चाहिए?

उत्तर

18

गतिविधि या जीवन शैली पर उन लोगों को ट्रिगर करने का प्रयास करें जो स्टॉप या ऑनस्ट्राय पर हैं। अधिक जानकारी के लिए this documentation देखें।

ऑनस्टॉप ट्रिगर किया जाएगा जब उपयोगकर्ता बैक बटन पर क्लिक करेगा। तो अपनी घटनाओं को ऑनस्टॉप में संभाल लें।

public void onStop() { 
//do your stuff here 
super.onStop() 
} 

आखिरकार ऑनस्ट्रॉय को भी बुलाया जाएगा, लेकिन जरूरी नहीं कि बैक बटन क्लिक किया जाए।

+0

धन्यवाद। मैंने बस ऑनटॉप विधि में एक ध्वज सेट किया है, और इसे श्रोता में जांचें। इसने एक जादू की तरह काम किया। –

+1

ऑनस्टॉप() तब भी ट्रिगर किया जाएगा जब इस गतिविधि के सामने कुछ नई गतिविधि आती है। यदि आप बैक बटन सुनना चाहते हैं तो प्रेसबैक() ईवेंट पर आज़माएं। –

संबंधित मुद्दे

 संबंधित मुद्दे