6

पर कॉल किया गया है, मैं जीपीएस लोकेशन अपडेट सुनने के लिए एक इंटेंट सेवा का उपयोग कर रहा हूं ताकि उपयोगकर्ता गतिविधि को छोड़ दे। आईएस गतिविधि के हैंडलर को एक संदेश में स्थान भेजता है।स्थान सुनने के लिए IntentService का उपयोग करना, लेकिन ऑनस्ट्रॉय को तुरंत हैंडलइन्टेंट

समस्या यह है कि जब उपयोगकर्ता "स्टॉप ट्रैकिंग" बटन हिट करता है, तो स्टेटस बार अधिसूचना "ट्रैकिंग ..." कह रही है क्योंकि यह अभी भी है क्योंकि यह IntentService में बनाई गई है। इसलिए मैं onDestory overrided() तो मैं कॉल कर सकते हैं:

mNotificationManager.cancel(TRACKING); 

लेकिन समस्या यह है कि जब मैं OnDestroy() को लागू करने, यह onHandleIntent के तुरंत बाद कहा जाता है। अगर मैं अपने ओवरराइड ऑनड्रॉय() कोड को हटा देता हूं तो इसे तुरंत कॉल नहीं किया जाता है और स्क्रीन पर प्रदर्शित होने वाली गतिविधि पर वापस स्थान भेजकर ठीक चलाता है।

किसी भी विचार पर अगर मैं इसे लागू करता हूं तो तुरंत डेस्ट्रॉय() को बुलाया जा रहा है, लेकिन अगर मैं नहीं करता हूं?

मैं यहां बहुत उलझन में हूं।

धन्यवाद सब,

Infinitifizz

उत्तर

9

ठीक है, मैं यह हल कर लिया है अब, मैं एक IntentService का उपयोग कर नहीं होना चाहिए था, बजाय एक सेवा का इस्तेमाल किया और() onStartCommand में सभी कार्यक्षमता रख दिया और अब सब कुछ काम करता है।

अपना समय बर्बाद कर के लिए खेद है हर किसी को: -/

Infinitifizz

+9

यहाँ कोई बेकार, हो सकता है कोई एक ही गलती करता है और अपने जवाब में एक समाधान पाता है। – AndreasT

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