2010-09-17 16 views
5

शायद यह वास्तव में एक जटिल सवाल नहीं है, लेकिन सबसे पहले, मुझे नहीं पता, मुझे किस खोज क्वेरी की तलाश करनी चाहिए ?!एंड्रॉइड एप्लिकेशन लाइफसाइक्ल और सेवा

मेरे आवेदन की शुरुआत में मैं जीपीएस शुरू करना चाहता हूं और यदि मेरा आवेदन समाप्त हो जाएगा तो जीपीएस बंद होना चाहिए।

यदि मैं पूरा एप्लिकेशन (गतिविधि नहीं) समाप्त कर चुका हूं, तो मैं कैसे जांच सकता हूं?

क्या स्टार्ट-एक्टिविटी के लिए डिस्ट्रॉय-विधि पर उपयोग करना पर्याप्त है, जो कभी खत्म() के साथ बंद नहीं होगा?

शुरुआती प्रश्न के लिए आपको बहुत धन्यवाद और खेद है।

मुर

युपीडी

मैं पहली बार जवाब को देखा और मैं एक बार कहने के लिए करना चाहते हैं।

मेरा मतलब गतिविधि नहीं है, मेरा मतलब वास्तव में पूरा आवेदन है (जिसमें कई गतिविधियां मौजूद हैं)।

यह जांचने के लिए कि क्या सभी एप्लिकेशन की गतिविधियां समाप्त हो गई हैं और केवल उस मामले में सेवा को रोकें?

क्या इसके लिए कोई विश्वसनीयता है?

UPD2:

मैं एक डिवाइस पर अपना समाधान परीक्षण किया है:

"यह काफी प्रारंभ-गतिविधि के लिए OnDestroy-विधि का उपयोग करने के है, जो खत्म के साथ बंद कर दिया कभी नहीं होगा()? "

हाँ, यह पर्याप्त था।

उत्तर

7

यह इतना है कि, प्रत्येक गतिविधि बांध (bindService के माध्यम से) सेवा ... जब सभी गतिविधियों निलंबित कर दिए गए (परोक्ष unbinds) के साथ, अपने Service नष्ट हो जाएगा सुनिश्चित करें। चूंकि सेवा तब तक जीवित रहेगी जब तक कि कोई इसके साथ बाध्यकारी न हो।

0

इस विशेष मामले तुम क्या करने की जरूरत में है:

  • एक Activity बनाएं उपयोगकर्ता के लिए जानकारी को दिखाने के लिए।
  • एक Service कि पृष्ठभूमि पर चलेगा बनाएँ और Activity

को अपडेट भेज जाएगा बहुत की तुम क्या करने की कोशिश कर रहे हैं की उदाहरण के होते हैं, लेकिन मूल रूप से आप की onStart() पद्धति पर Service शुरू कर सकते हैं आपके Activity और onDestroy() पर सेवा समाप्त हो रही है।

+0

मेरा मतलब गतिविधि नहीं है, मेरा मतलब वास्तव में पूरा आवेदन है (जिसमें कई गतिविधियां मौजूद हैं)। यह जांचने के लिए कि क्या सभी आवेदन की गतिविधियां समाप्त हो गई हैं और केवल उस मामले में सेवा को रोकें? क्या इसके लिए कोई सकारात्मकता है? – Tima

+0

@ मेरा वोटेमा: ठीक है, तो आप जो करना चाहते हैं वह करने के लिए तैयार हैं। – Macarse

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